esp8266调试记录 使用笔记本电脑的USB接口为NodeMCU开发板供电,你需要确保电压和电流在安全范围内。虽然NodeMCU的输入输出电压限制为3.3V,但是大多数开发板都内置了电压调节器,可以从5V的USB电源降压到3.3V。因此,通常情况下,可以直接使用笔记本电脑的USB接口为NodeMCU开发板供电。
torch.compile用法 torch.compile 通过 JIT 将 PyTorch 代码编译成优化的内核,使 PyTorch 代码运行得更快。加速主要来自减少了 Python 开销和 GPU 读/写,因此观察到的加速可能因模型架构和批量大小等因素而异。例如,如果一个模型的架构很简单并且数据量很大,那么瓶颈将是 GPU 计算并且观察到的加速可能不那么显着。要求torch>2.0,还需要安装torchtriton。
深度学习知识 在 While 处判断需要继续生成,在 Attention 中计算出token对应的 CacheKV 信息存储下来,并拼接上所有的历史 CacheKV 信息进行计算,最后采样出来下一个 token。(CacheKV 实际上记录的是 Transformer 中 Attention 模块中 Key 和 Value 的值),在计算完 logits 之后会接一个Sampling 采样模块,采样出来第一个生成的 token,并将这个 token 和 CacheKV 作为 generation阶段的输入,
大模型学习 其中b是batch,s是序列长度,a是注意力头数,l是transformer层数,h指隐藏层维度。优化器状态占用的显存大小也是一样,与优化器类型有关,与模型参数量有关,但与输入数据的大小无关。计算量和参数量的关系,近似认为,在一次前向传递中,对于每个token,每个模型参数,需要进行2次浮点数运算,即一次乘法法运算和一次加法运算。,b是batch,l是transformer层数,h指隐藏层维度,s是输入序列长度,n是输出序列长度,4=2*2,k和v的cache,每个cache fp16存储,占用2B。
CMakeLists中下载github仓库代码和设置代理 在编译大型项目时,往往会遇到在CMakeLists.txt文件中下载github依赖仓库的现象。但是因为墙的原因,直接下载不了代码导致编译报错。可以通过设置代理解决。
HuggingFace的transfomers库 可以通过print(enc)看到,enc是GPT2TokenizerFast类型,搜索类型的定义,在python安装包的transformers/models/gpt2/tokenization_gpt2_fast.py。我获取了opt类型的tokenizer,那么enc是什么类型呢?
fastapi教程 一个现代Python网络框架,可用于构建REST API。与知名的API标准完全兼容,即OpenAPI和JSON模式。FastAPI没有内置任何服务器应用程序。为了运行FastAPI应用程序,你需要一个名为的ASGI(Asynchronous Server Gateway Interface)服务器。符合 WSGI (Web Server Gateway Interface – 较早的标准)的Web服务器不适合 asyncio 应用。
asyncio教程 asyncio是一种使用单线程单进程的的方式实现并发的工具。asyncio提供的框架以事件循环(event loop)为中心,程序开启一个无限的循环,程序会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。