Public Docs
【模型量化】深度学习模型量化 & 量化理论 & 各平台的量化过程 & 硬件加速
【TVM】TI关于TVM的使用测试与分析
【LLM&LVM】大模型开源工程思维导图
【北航卓越工程师】《汽车前沿技术导论:智能驾驶》讲义
【工具链】Yocto使用介绍——使用Yocto创建一个树莓派的系统镜像
【工具链】使用ssh+dialog指令设定服务器指定用户仅容器访问
【推理引擎】一篇关于模型推理的详细对比与学习
【推理引擎】关于TVM中的Schedule优化详解(On going)
【LLM微调】使用litgpt进行私有数据集模型微调的测试总结
【TVM】在TVM Relay中创建一个自定义操作符
【STT+LLM+TTS】如何使用语音转文字模型+大预言模型+语音生成模型完成一个类人的语音交互机器人
【RAG】 通过RAG构建垂直领域的LLM Agent的方法探索
【RAG】GraphRAG精读与测试(On going)
【AI Agent】MetaGPT精读与学习
【AI Base】Ilya Sutskever 27篇必读论文分享清单
【Nvidia】Jetson AGX Orin/ Jetson Orin nano 硬件测试调试内容(On going)
【BI/DI】LLM Using in BI Testing Scenario (On going)
【Nvidia】How to Activate a Camera on Nvidia Platform in Details
【RAS-PI】树莓派驱动开发
【行业咨询阅读】关注实时咨询和分析
【mobileye】2024 Driving AI
【mobileye】SDS_Safety_Architecture
【yolo】yolov8测试
【nvidia】Triton server实践
【alibaba】MNN(on updating)
【OpenAI】Triton(on updating)
【CAIS】关于Compound AI Systems的思考
【Nvidia】关于Cuda+Cudnn+TensorRT推理环境
【BEV】BEVDet在各个平台上的执行效率及优化(On Updating)
【Chip】AI在芯片设计和电路设计中的应用
【Chip】ChiPFormer
【Chip】关于布线的学习
【Chip】MaskPlace论文精读与工程复现优化
【gynasium】强化学习初体验
【Cadence】X AI
【transformer】MinGPT开源工程学习
【中间件】针对apollo 10.0中关于cyberRT性能优化的深度解读和思考
【Robotics】调研了解当前机器人开发者套件(on updating)
【Robotics】ROS CON China 2024 文档技术整理与感想总结(上2024.12.7,中2024.12.8,下场外产品)
【algorithm】关于模型、数据与标注规范的平衡问题
【nvidia】DLA的学习了解与使用
【nvidia】构建nvidia嵌入式平台的交叉编译环境(其他环境平台可借鉴)
文档发布于【Feng's Docs】
-
+
首页
【transformer】MinGPT开源工程学习
# Description https://github.com/karpathy/minGPT https://github.com/karpathy/nanoGPT chipFormer中的整个骨干网使用了`MinGPT`作为整个网络构建的一个基础模块。 所以这里面也针对chipformer重新学习了一下MinGPT的基础开源工程。 MinGPT是 karpathy Andrej 大神的一个开源项目,意在通过简洁的代码帮助大家理解gpt模型,具有重要的教育意义。MinGPT 只依赖torch,所以上手非常容易,能做文本理解,文本生成,排序等多种工作。kp将工程更新为nanoGPT 并添加了一些实例用来帮助大家更好的理解transformer结构。 网上有太多的关于transformer结构的讲解和理解,我把这篇文档的重点放在mingpt工程本身。理解了mingpt工程,关于chipformer中mingpt的使用和适配就容易理解了。 # 工程 整个模型的定义位于mingpt的model.py中,定义了整个gpt的结构。 工程中有4个类,NewGELU、CausalSelfAttention、Block、GPT.  * NewGELU 表达如下图所示,它是一个新的激活函数,在Transformer 的feed forward模块中使用。feed forward其实就是一个mlp结构,包含两个线性层一个非线性的激活函数和一个dropout模块。 https://arxiv.org/pdf/1606.08415v5  transformer原论文中是使用的ReLu。  * Block 就是整个transformer的 encoder结构结构 包含一个注意力模块和一个feedforwad模块。 * CausalSelfAttention 包含多头注意力和自注意力 * GPT就是多个transformer模块的叠加,里面给了一些不同版本gpt模块的配置参数,包含多少个trasformer结构,多头的数量,以及position embedding的数量。以及一些dropout的参数 ``` C.embd_pdrop = 0.1 C.resid_pdrop = 0.1 C.attn_pdrop = 0.1 ``` ``` config.merge_from_dict({ # names follow the huggingface naming conventions # GPT-1 'openai-gpt': dict(n_layer=12, n_head=12, n_embd=768), # 117M params # GPT-2 configs 'gpt2': dict(n_layer=12, n_head=12, n_embd=768), # 124M params 'gpt2-medium': dict(n_layer=24, n_head=16, n_embd=1024), # 350M params 'gpt2-large': dict(n_layer=36, n_head=20, n_embd=1280), # 774M params 'gpt2-xl': dict(n_layer=48, n_head=25, n_embd=1600), # 1558M params # Gophers 'gopher-44m': dict(n_layer=8, n_head=16, n_embd=512), # (there are a number more...) # I made these tiny models up 'gpt-mini': dict(n_layer=6, n_head=6, n_embd=192), 'gpt-micro': dict(n_layer=4, n_head=4, n_embd=128), 'gpt-nano': dict(n_layer=3, n_head=3, n_embd=48), }[config.model_type]) ```
dingfeng
2024年11月22日 10:20
180
0 条评论
转发文档
收藏文档
上一篇
下一篇
评论
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码