书生·浦语大模型实战营(七):OpenCompass 大模型评测实战
课程文档:https://github.com/InternLM/Tutorial/blob/camp2/opencompass/readme.md
视频:https://www.bilibili.com/video/BV1Pm41127jU/?spm_id_from=333.788&vd_source=3194af3e77968cb10b1d50711d07106a
OpenCompass
上海人工智能实验室科学家团队正式发布了大模型开源开放评测体系 “司南” (OpenCompass2.0),用于为大语言模型、多模态模型等提供一站式评测服务。其主要特点如下:
开源可复现:提供公平、公开、可复现的大模型评测方案
全面的能力维度:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力
丰富的模型支持:已支持 20+ HuggingFace 及 API 模型
分布式高效评测:一行命令实现任务分割和分布式评测,数小时即可完成千亿模型全量评测
多样化评测范式:支持零样本、小样本及思维链评测,结合标准型或对话型提示词模板,轻松激发各种模型最大性能
灵活化 ...
书生·浦语大模型实战营(六):Lagent & AgentLego 智能体应用搭建
文档:https://github.com/InternLM/Tutorial/tree/camp2/agent
视频:https://www.bilibili.com/video/BV1Xt4217728/?spm_id_from=333.788&vd_source=3194af3e77968cb10b1d50711d07106a
仓库:
https://github.com/InternLM/Lagent
https://github.com/InternLM/AgentLego
什么是智能体
1.可以感知环境中的动态条件。
(perception of dynamic conditions in the environment)
2.能采取动作影响环境。
(action to affect conditions in the environment)
3.能运用推理能力理解信息、解决问题、产生推断、决定动作。
(reasoning to interpret perceptions, solve problems, draw inferences, and determi ...
书生·浦语大模型实战营(五):LMDeploy 量化
文档:https://github.com/InternLM/Tutorial/tree/camp2/lmdeploy
视频:https://www.bilibili.com/video/BV1tr421x75B/?spm_id_from=333.788&vd_source=3194af3e77968cb10b1d50711d07106a
模型部署
定义
将训练好的模型在特定软硬件环境中启动的过程,使模型能够接收输入并返回预测结果
为了满足性能和效率的需求,常常需要对模型进行优化,例如模型压缩和硬件加速
产品形态
云端、边缘计算端、移动端
计算设备
CPU、GPU、NPU、TPU 等
大模型特点
内存开销巨大
庞大的参数量。7B模型仅权重就需要 14+G 内存
采用自回归生成 token,需要缓存 Attention 的 k/v,带来巨大的内存开销
动态 shape
请求数不固定
Token 逐个生成,且数量不定
相对视觉模型,LLM 结构简单
Transformers 结构,大部分是 decoder-only
大模型部署挑战
设备 ...
书生·浦语大模型实战营(四):XTuner 微调 LLM:1.8B、多模态、Agent
视频:https://www.bilibili.com/video/BV15m421j78d/?vd_source=3194af3e77968cb10b1d50711d07106a
文档:https://github.com/InternLM/Tutorial/blob/camp2/xtuner/readme.md
笔记
两种Finetune范式
LLM 的下游应用中,增量预训练和指令跟随是经常会用到两种的微调模式
增量预训练微调
使用场景:让基座模型学习到一些新知识,如某个垂类领域的常识训练数据:文章、书籍、代码等
指令跟随微调
使用场景:让模型学会对话模板,根据人类指令进行对话训练数据:高质量的对话、问答数据
XTurn
LoRA & QLoRA
LoRA: Low-Rank Adaptation of Large Language Models
LLM 的参数量主要集中在模型中的 Linear, 训练这些参数会耗费大量的显存
LoRA 通过在原本的 Linear 旁,新增一个支路,包含两个连续的小 linear,新增的这个支路通常叫做 Adapter
Adapter ...
书生·浦语大模型实战营(三):InternLM RAG
视频:https://www.bilibili.com/video/BV1QA4m1F7t4/?vd_source=3194af3e77968cb10b1d50711d07106a
教程:https://github.com/InternLM/Tutorial/blob/camp2/huixiangdou/readme.md
茴香豆:https://github.com/InternLM/HuixiangDou
LLM的局限性:
知识时效性受限:如何让LLM能够获取最新的知识
专业能力有限:如何打造垂域大模型
定制化成本高:如何打造个人专属的LLM应
两种开发范式:
RAG:检索增强生成
外挂知识库,从知识库中匹配到相应文档,然后和提问一起交给LLM
低成本、可以实时更新、收到几座影响、单次回答知识有限
Finetune:微调
可以个性化微调、知识覆盖面广、成本高昂、无法实时更新
RAG:
RAG(Retrieval Augmented Generation)技术,通过检索与用户输入相关的信息片段,并结合外部知识库来生成更准确、更丰富的回答。解决 LLMs 在处理知识密集型任务时可 ...
书生·浦语大模型实战营(二):InternLM Demo
github:https://github.com/InternLM/Tutorial/tree/camp2
视频地址:https://www.bilibili.com/video/BV1AH4y1H78d/
工具记录
123# 从本地使用 ssh 连接 studio 端口# 将下方端口号 38374 替换成自己的端口号ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 38374
模型下载
6.2.1 Hugging Face
使用 Hugging Face 官方提供的 huggingface-cli 命令行工具。安装依赖:
1pip install -U huggingface_hub
然后新建 python 文件,填入以下代码,运行即可。
resume-download:断点续下
local-dir:本地存储路径。
其中 linux 环境下需要填写绝对路径.
123import os# 下载模型os.system('huggingface-cli download --resume-downloa ...
书生·浦语大模型实战营(一):书生·浦语大模型全链路开源体系
书生·浦语大模型实战营(一):书生·浦语大模型全链路开源体系
github:https://github.com/InternLM/Tutorial/tree/camp2
InternLM2 报告:https://arxiv.org/pdf/2403.17297.pdf
视频地址:https://www.bilibili.com/video/BV1Vx421X72D/
模型到应用的典型流程:
对于机器人领域,构建智能体应该更能满足应用场景的要求。
项目案例:
https://github.com/BestAnHongjun/InternDog
针对水面无人艇而言,在设计的过程中,应该有较好的顶层设计,哪些信息从外界API获取,哪些功能通过调用API执行,同时要注意工具是备选,应该是通过选择工作,完成指令,而不是变成分类任务,机械地调用
同时,针对特定情境下,应该通过代码生成,从而构建新的内部API
Lagent,借助AutoGPT等方式,实现更好的工具选择。
同时使用更加丰富的多模态智能体工具箱,多模态的信息输入对于机器人而言应该是很重要的信息补充
关于微调:
增量训练的目的是 ...
连不上一些网站的解决方案
如果是从 huggingface.co 下载模型,由于国内不能访问,所以建议先配置一下环境变量,
通过访问国内镜像站点 https://hf-mirror.com来下载模型。
使用huggingface 官方提供的 [huggingface-cli](https://hf-mirror.com/docs/huggingface_hub/guides/download#download-from-the-cli) 命令行工具。
1pip install -U huggingface_hub
基本命令示例:
12export HF_ENDPOINT=https://hf-mirror.comhuggingface-cli download --resume-download --local-dir-use-symlinks False bigscience/bloom-560m --local-dir bloom-560m
PS:详情参考https://fanfer.top/2024/01/18/HuggingFace-下载模型/和https://hf-mirror.com
如果是国内想要 ...
HuggingFace-下载模型
Hugging Face保存模型
Cache setup
如果本地和缓存中均没有模型的话,那么运行model.fromPretrained会从huggingface官网中下载模型,保存到本地的默认路径~/.cache/huggingface/hub.下
因此可以从~/.cache/huggingface/hub下进入删除你不再需要的模型参数
Offline mode
如果在有防火墙或者离线的情况下使用Huggingface在cache file中保存的文件,通过设置环境变量
TRANSFORMERS_OFFLINE=1.如果要使用本地的数据集,设置HF_DATASETS_OFFLINE=1.
12HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \python examples/pytorch/translation/run_translation.py --model_name_or_path t5-small --dataset_name wmt16 --dataset_config ro-en ...
上述指令就不会尝试从huggingfa ...
VoxPoser
VoxPoser:使用语言模型的可组合三维价值地图进行机器人操纵
author:Wenlong Huang, Chen Wang, Ruohan Zhang, Yunzhu Li , Jiajun Wu, Li Fei-Fei
Abstract
大型语言模型(LLMs)显示出具有可操作知识的丰富性,可以通过推理和规划的形式提取用于机器人操纵的知识。尽管取得了进展,但大多数仍然依赖预定义的运动原语来进行与环境的物理交互,这仍然是一个主要瓶颈。在这项工作中,我们旨在合成机器人轨迹,即一系列密集的6自由度末端执行器路径点,用于各种操纵任务,并给定开放式指令和开放式对象。我们首先观察到LLMs在根据自由形式语言指令推断能力和约束方面表现出色。更重要的是,通过利用它们编写代码的能力,它们可以与视觉-语言模型(VLM)交互以组合3D价值地图将知识落实到代理者所观测到空间中。然后,在基于模型的规划框架中使用组合后的价值地图来零样本综合闭环机器人轨迹,并对动态扰动具有鲁棒性。我们进一步演示了所提出框架如何从在线经验中受益,并有效学习涉及接触丰富交互场景下的动力学模型。我们在模拟和真实机器人环境中对所提 ...