第一关:书生大模型全链路开源体系
书生·浦语大模型的开源开放体系及其发展历程
书生·浦语2.5概览
- 推理能力领先:综合推理能力领先社区开源模型相对InternLM2性能20%
- 支持100万字上下文:百万字长文的理解和精确处理性能处于开源模型前列。
- 自主规划和搜索完成复杂任务:通过信息搜索和整合,针对复杂问题撰写专业回答,效率提升60倍。
核心技术思路
模型训练:
高质量合成数据:融合多种数据合成方案,提升合成数据质量
- 基于规则的数据构造
- 基于模型的数据扩充
- 基于反馈的数据生成
推理能力提升
开源模型·谱系
全链路开源体系
模型
- InternLM:一系列多语言基础模型和聊天模型。
- InternLM-Math:最先进的双语数学推理 LLM。
- InternLM-XComposer:基于 InternLM 的视觉语言大型模型 (VLLM),用于高级文本图像理解和合成。
工具链
- InternEvo:用于大规模模型预训练和微调的轻量级框架。
- XTuner:一个用于高效微调 LLM 的工具包,支持各种模型和微调算法。
- LMDeploy:用于压缩、部署和提供 LLM 的工具包。
- Lagent:一个轻量级框架,允许用户高效构建基于 LLM 的代理。
- AgentLego:一个多功能工具 API 库,用于扩展和增强基于 LLM 的代理,与 Lagent、Langchain 等兼容。
- OpenCompass:一个用于大型模型评估的平台,提供公平、开放和可复现的基准测试。
- OpenAOE:一个开箱即用的聊天 UI,用于比较多个模型。
应用
- HuixiangDou:基于 LLM 的领域专属助手,可以处理群聊中复杂的技术问题。
- MindSearch:一个基于 LLM 的网络搜索引擎多代理框架。
数据集
数据处理工具箱
- 数据提取
- Miner U 一站式开源高质量数据提取工具,支持多格式(PDF/网页/电子书),智能萃取,生成高质量预训练/微调语料。
- 数据标注
- Label LLM 专业致力于LM对话标注,通过灵活多变的工具配置与多种数据模态的广泛兼容,为大模型量身打造高质量的标注数据。
- Label U 一款轻量级开源标注工具,自由组合多样工具,无缝兼容多格式数据,同时支持载入预标注,加速数据标注效率。
第二关:玩转书生「多模态对话」与「AI搜索」产品
MindSearch:开源的 AI 搜索引擎
书生·浦语:InternLM 开源模型官方的对话类产品
书生·万象:InternVL 开源的视觉语言模型官方的对话产品
第三关 浦语提示词工程实践
Prompt:获取输入文本,模型处理获取文本特征>依据输入文本的特征预测之后的文本
Prompt的来源:预设prompt,用户输入,模型输出
Prompt Engineering:一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。
六大原则:
- 指令要清晰
- 提供参考内容
- 复杂的任务拆分成子任务
- 给AI“思考”时间(给出过程)
- 使用外部工具
- 系统性测试变化
技巧:
- 描述清晰
- 扮演角色
- 提供示例
- 复杂任务分解:思维链CoT
- 使用格式符区分语义
- 情感和物质激励
- 使用更专业的术语
CRISPE框架
- Capacity and Role(能力与角色):希望LLM扮演怎样的角色。
- Insight(洞察力):背景信息和上下文
- Statement(指令):希望LLM做什么。
- Personality(个性):希望LLM以什么风格或方式回答你。
- Experiment(尝试):要求LLM提供多个答案。
CO-STAR框架
- Context(背景):提供任务背景信息
- Objective(目标,:定义需要LLM执行的任务
- Stye(风格):指定希望LLM具备的写作风格
- Tone(语气):设定LLM回复的情感基调
- Audience(观众:表明回复的对象
- Response(回复):提供回复格式
第四关 :LlamaIndex+InternLM RAG 实践
基于 LlamaIndex 构建自己的 RAG 知识库
参考:Tutorial/docs/L1/LlamaIndex/readme_api.md at camp4 · InternLM/Tutorial
完成环境配置和模型下载,在py文件中配置好自己的API,CLI中启动py文件即可得到未使用RAG前和使用RAG后InternLM关于XTuner的解释,发现使用LlamaIndex后对于知识库有了了解
是否使用 LlamaIndex 前后对比
第五关:XTuner 微调实践微调
参考:Tutorial/docs/L1/XTuner/README.md at camp4 · InternLM/Tutorial
前期准备:创建虚拟环境→安装依赖(包括xtuner)→准备微调数据并修改配置脚本
环境创建和配置修改
检查配置修改
然后就可以准备启动XTuner了!!!
在启动之前我遇到了一个问题,如下:
一开始以为是前面的步骤torch安装有问题,后面发现卸载了重新安装torch就好了
pip uninstall torch
pip install torch==2.2.1
启动微调(主要就是等待)
模型权重文件格式修改
模型合并
保证端口映射
ssh -p 41739 root@ssh.intern-ai.org.cn -CNg -L 8501:127.0.0.1:8501 -o StrictHostKeyChecking=no
打开端口链接查看微调模型
打开:http://127.0.0.1:8501 (因为端口映射到这里了)
然后就可以和你微调的小助手对话啦~
第六关:OpenCompass评测 API模型InternLM-1.8B 实践
参考:Tutorial/docs/L1/Evaluation at camp4 · InternLM/Tutorial
环境配置
配置模型和数据集
根据指南创建puyu_api.py和demo_cmmlu_chat_gen.py(这个貌似创建的时候会发现给出的路径下就有这个,进行内容的替换即可)
测评API模型
遇到一些配置上的问题