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嵌入式平台的交叉编译环境(其他环境平台可借鉴)
【2025AI生成式大会】2025大会个人总结
【Robotics】 Create Quadruped Robot RL FootStep Training Environment In IsaacLab
文档发布于【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
380
0 条评论
转发文档
收藏文档
上一篇
下一篇
评论
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码