首页 > 编程语言 >大模型的基本功:推荐几个大模型的练手程序

大模型的基本功:推荐几个大模型的练手程序

时间:2024-08-28 09:24:25浏览次数:10  
标签:练手 AI 模型 py 学习 llama modeling 基本功

这篇文章给大家推荐几个大模型的练手程序,也就是所谓的“基本功”。

一、trans_XX_to_llama.py

在开源社区,llama 的网络结构已经一统江湖了,那也就是说 modeling_llama.py 理论上可以 load 起来任何一个开源模型。

OK,请自行完成以下脚本,使得我们可以用 modeling_llama.py 加载任何一个其他开源模型

  • trans_qwen_to_llama.py
  • trans_llama_to_qwen.py
  • ……

完成这些工作,你会理解每个开源模型的独特之处,比如,qwen2 的 q、k、v 的线性变换是有 bias 的,baichuan 的 lm_head 之前有一个 normalize() 的操作,甚至每个开源模型你都能观察到一些 attention 的魔改。再然后,对着他们的论文去找,为什么他们的作者要做这些改动?能不能从这个过程中学到知识就看各自悟性了。

进阶篇:

  • trans_llama_to_megatron.py (给定参数 tp 和 pp)
  • trans_megatron_to_llama.py

并不是所有同学都用 megatron 训代码,但用 megatron 训代码的同学,这两个脚本是基本功中的基本功了。这里只提醒一下,megatron_checkpoint 的 pp_size 实现 merge 和 split 非常简单,但在对 tp_size 进行 merge 和 split 的时候,一定要留意 megatron 的 gqa 的实现方式。

二、modeling_XX.py

即然我们已经可以万物转 llama 了,那为什么我还一定要使用 modeling_llama.py 呢?毕竟:

  • modeling_llama.py 在加载模型的时候没有 skip_build ;
  • modeling_llama.py 缺少 stream_generate;
  • modeling_llama.py 文件不支持 sequence_parallel ;
  • modeling_llama.py 默认使用 flash_attention;
  • modeling_llama.py 并没有一个可以作为 reward_model 的 lm_head;
  • ……

因此,实现一个属于自己的 modeling_XX.py 吧,集百家之长,先去收集 modeling_llama.py、 modeling_qwen.py、 modeling_baichuan.py、 modeling_yi.py、 modeling_deepseek.py、modeling_glm.py 等所有的开源文件,再把各家公司实现的比较好用的 def 加入到自己的 modeling_XX.py 中。

这样,当市面上出现任何一个新的开源模型,我们就都可以通过“trans_newModel_to_myModel.py”,快速的对该模型进行微调操作,而不用修改任何训练代码。

进阶篇:

我们还可以给自己的 modeling 文件加入很多有趣的东西来助力日常的 debug,比如:

  • def show_cos_distance(self, layer):输出某个 layer 的 input_hidden_states 和 output_hidden_states 的余弦距离;
  • def show_topk_token(self, layer, K=10):输出用某个 layer 去预测 next token 时的最大 K 个 token;
  • def show_attention(self, layer, tokenA, tokenB):输出第 layer 层的某两个 token 之间的 attention_value。

三、multi_infer.py

model.generate() 我们都再熟悉不过了。在不考虑推理加速等技术时,一个客观事实是:“8 卡 load 1 个模型、开大 batch_size ”的推理速度,远远小于 “8 卡 load 8 个模型、开小 batch_size ”的推理速度。

那么有需求了,**实现一个 class infer (model_path, data_path, output_path, num_workers)**,根据自己的喜欢,可以用 torch_run,也可以用 multiprocessing,亦或是其他 python 库。达成下面这个目的即可:在推理的时候让 1 机 8 卡 load 8 / 4 / 2 / 1 个模型,来快速的推理完一大批数据。

tips:一些写法可能需要给 modeling_XX.py 加入一个 def set_device(self, device_list) 函数,毕竟如果每次都用 os.environ[“CUDA_VISIBLE_DEVICES”]=“3,4” 来控制使用哪些卡来 load 模型,有点不太优雅。

进阶篇:

  1. 单机的并行推理已经实现了,不妨试试多机的;
  2. 学会用 vllm 等更快的推理框架,而不是 model.generate()。

最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

在这里插入图片描述
如有侵权,请联系删除。

标签:练手,AI,模型,py,学习,llama,modeling,基本功
From: https://blog.csdn.net/star_nwe/article/details/141612554

相关文章

  • 个性化推荐系统-离线召回模型验证
    文章目录背景前端核心组件模拟操作用户历史行为后端导入依赖启动服务根据uid获取推荐列表相关推荐用户历史记录用户行为数据上报背景计划构建并优化一个覆盖前端与后端的个性化推荐系统中的离线召回模块。此模块旨在通过高效的数据处理与分析,预先筛选出用户可能......
  • PEFT qwen2 lora微调模型训练案例
    参考:https://github.com/huggingface/peft##文档https://huggingface.co/docs/peft/indexhttps://www.wehelpwin.com/article/4299https://www.ethanzhang.xyz/2024/07/09/%E3%80%90%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E3%80%91%E4%BD%BF%E7%94%A8huggingface%E5%9C......
  • 领域驱动模型设计与微服务架构落地(四)之DDD分层架构设计
    那么聊完领域模型之后,其实我们会发现,接下来,很多的程序员可能就会直接上代码,因为很多的程序员觉得这个你的战略设计跟我们落地的代码没有关系。哪怕你可能说得天花乱坠,可是做为底层的开发人员,我只关心手头上的功能有没有实现,实现完成之后有没有BUG。那么我们该如何对于我们的系......
  • 大模型备案全网最详细流程解读(附附件+重点解读)
    文章目录一、语料安全评估二、黑盒测试三、模型安全措施评估四、性能评估五、性能评估六、安全性评估七、可解释性评估八、法律和合规性评估九、应急管理措施十、材料准备十一、【线下流程】大模型备案线下详细步骤说明十二、【线上流程】算法备案填报流程及重难点......
  • 大模型的“弱转强”越狱攻击:挑战与防御
     人工智能咨询培训老师叶梓转载标明出处大模型(LLMs)在各种应用中展现出了惊人的能力,但同时也引发了安全和可信度方面的担忧。如果没有适当的防护措施,LLMs可能会传播虚假信息或助长犯罪活动。为了减少这些风险,模型创建者实施了安全措施并通过强化学习等手段来优化模型,以确保......
  • 如果让现在的部分主流 LLM 模型做 SCP-S?(个人补充)
    ChatGLM(58.5分)个人认为比较厉害但是没有被cz评测,部分试题打开联网。一、单项选择题(24分)T1(3分)在CSP-S第二轮评测中,用于编译题目英文名为luogu的传统型试题的选手代码的编译命令是B.g++-std=c++14-O2-oluogu.cpp。这个命令使用了C++编译器g++,并指定了C++14......
  • 零基础5分钟上手亚马逊云科技 - AI模型内容安全过滤
    在上一篇文章中,小李哥带大家深入调研亚马逊云科技AI模型平台AmazonBedrock热门开发功能,了解了模型平台的文字/图片生成、模型表现评估和模型内容安全审核的实践操作。这次我们将继续介绍如何利用API的形式,利用Python代码的形式对AI模型内容安全过滤,阻止输入、输出中有危害的内......
  • 大模型RAG应用开发之PDF解析工具对比
    一汇总类型名称地址OCR提取表格内容保留文本顺序提取图片保存成md格式其他特性传统PDF解析库pymupdfhttps://github.com/pymupdf/PyMuPDF❌✔️✔️✔️❌●表格提取●自定义字体传统PDF解析库pdfminerhttps://github.com/pdfminer/pdfminer.six❌❌......
  • NLP从零开始------14.文本中阶序列处理之语言模型(2)
    3.2长短期记忆        梯度消失问题的一个解决方案是使用循环神经网络的变体——长短期记忆( long short- term memory, LSTM)。        长短期记忆的原理是, 在每一步t, 都保存一个隐状态和一个单元状态( cell state) , 通过单元状态来存储长距离......
  • GLM-4-Flash 大模型API免费了,手把手构建“儿童绘本”应用实战(附源码)
    老牛同学刚刷到了一条劲爆的消息,GLM-4-Flash大模型推理API免费了:https://bigmodel.cn/pricing老牛同学一直觉得上次阿里云百炼平台为期1个月免费额度的“羊毛”已经够大了(太卷了,阿里云免费1个月大模型算力额度,玩转Llama3.1/Qwen2等训练推理),但经过老牛同学在智谱AI官网......