书生实战营-L1关卡作业

书生大模型实战营 - L1 - 基础岛

第1关 书生大模型全链路开源体系

闯关任务:写一篇关于书生大模型全链路开源开放体系的笔记

书生·浦语2.5优势
1. 推理能力
模型能够在面对需要逻辑思维和抽象推理的问题时,提供更加准确和深入的答案。例如,在解决数学问题、分析科学数据、进行法律咨询或提供医疗建议等场景中,书生·浦语2.5能够展现出强大的推理能力,帮助用户找到问题的根本解决方案。
2. 100万字上下文,10倍于GPT-4o
这种长距离上下文处理能力使得模型在处理长篇文章、书籍、论文等大型文本内容时,能够更好地理解和维持上下文信息,从而提供连贯、准确的回答和内容生成。这对于需要处理大量文本信息的研究人员、内容创作者和数据分析人员来说,是一个极大的优势。
3. 自主规划和搜索
意味着模型能够在没有明确指令的情况下,自动识别需要解决的问题,并规划解决方案。在执行任务时,模型能够主动搜索相关信息,整合知识,从而更有效地解决问题。例如,在辅助科研工作时,书生·浦语2.5可以自动检索文献、分析数据,为研究人员提供有价值的见解和发现。这种自主性和搜索能力显著提升了模型的实用性和智能化水平,使其能够更加灵活地适应各种复杂任务。

开源模型全家桶

  • InternLM 2.5,开源1B/7B/20B,闭源102B
    用于自然语言处理任务,如文本生成、文本摘要、问答系统、对话系统等。不同规模的模型适用于不同的需求,从1B参数的轻量级模型到102B参数的超大规模模型,满足从移动设备到高性能服务器不同计算能力的需求。

  • InternLM-XComposer:图像文本多模态
    图像文本多模态应用,如视觉问答、图像描述生成、多模态内容理解等。适用于需要同时处理图像和文本信息的应用,如社交媒体分析、智能助手等。

  • InternLM-Math:数学场景
    适用于数学相关的场景,如数学问题解答、数学教育辅助、科学计算等。适用于教育、科研等领域,帮助学生和科研人员解决数学问题。

  • InternLM-WQX:(文曲星)题目
    针对特定类型(如文曲星)的题目生成和理解,适用于教育领域的题目自动生成和智能辅导。

  • 书生·万卷:预训练语料库,含细分领域
    作为预训练语料库,包含细分领域的知识,适用于特定行业或领域的语言模型预训练,如医疗、法律、金融等。

  • InternEvo:预训练模型框架
    提供一个预训练模型框架,用于构建和训练新的语言模型,适用于研究人员和开发者。

  • XTuner:微调框架,界面化
    提供界面化操作,便于用户对预训练模型进行微调和优化,适用于需要定制化模型的应用。

  • LMDeploy:部署框架,vs. vllm
    用于将模型部署到生产环境中,与vllm相比,它可能提供更高效的部署选项,适用于企业级应用。

  • OpenCompass:评测体系
    用于评估模型性能和效果,适用于模型开发和研究人员。

  • Huixiangdou:知识库搭建工具
    知识库搭建工具,用于创建和管理知识库,适用于需要构建专业知识库的企业或研究机构。

  • MinerU:快速解析(pdf/web)文档转纯文本
    快速解析PDF或Web文档并将其转换为纯文本,适用于信息抽取、内容分析等任务。

  • Label LLM/Label U:人工标注
    用于为机器学习模型提供高质量的标注数据,适用于数据预处理阶段。

  • Lagent:智能体框架
    用于构建能够与用户交互的智能体,适用于聊天机器人、虚拟助手等。

  • MindSearch:搜索引擎
    用于提供高效的信息检索服务,适用于网站、企业内部知识管理等。

第2关 8G 显存玩转书生大模型 Demo

闯关任务:部署 InternLM2-Chat-1.8B 模型,并生成 300 字小故事

按指导步骤完成部署后,运行脚本启动internlm2-chat-1_8b streamchat。
生成300字内容如下:
在这里插入图片描述

花絮:

在这里插入图片描述

第3关 浦语提示词工程实践

闯关任务:利用LangGPT优化提示词,使LLM比较13.8和13.11大小,输出正确结果。

# Role: 数学比较器

## Background:
我是一个数学比较机器人,擅长对比和排序各种数字的大小。

## Workflow:

  1. 了解要比较的数字
  2. 先把数字都转换为10进制浮点数
  3. 先比较整数部分,整数大的数字更大
  4. 如果整数一样,比较小数点后第一位,第一位大的数字更大
  5. 如果第一位相同,再比较小数点后第二位,第二位大的数字更大
  6. 以此类推

第4关 InternLM + LlamaIndex RAG 实践

闯关任务:基于 LlamaIndex 构建自己的 RAG 知识库,并对比前后问题答案

RAG前(不知所云):
在这里插入图片描述
RAG后(讲道理多了)
在这里插入图片描述

第5关 XTuner 微调个人小助手认知

闯关任务:使用 XTuner 微调 InternLM2-Chat-1.8B 实现自己的小助手认知
微调前:
在这里插入图片描述

微调后:
在这里插入图片描述

第6关 OpenCompass 评测 InternLM-1.8B 实践

闯关任务:使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 ceval 数据集上的性能

第一步 - 环境准备
安装必要的python环境,并下载OpenCompass

conda create -n opencompass python=3.10
conda activate opencompass
conda install pytorch2.1.2 torchvision0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y

cd /root
git clone -b 0.2.4 https://github.com/open-compass/opencompass
cd opencompass
pip install -e .

apt-get update
apt-get install cmake
pip install -r requirements.txt
pip install protobuf

第二步 - 确认测评数据集
将测评数据集解压放在opencompass路径下,通过如下命令列出InternLM 及 C-Eval 相关的配置。

python tools/list_configs.py internlm ceval

第三步 - 测评方法1,命令行配置参数方法
修改./opencompass/configs/models/hf_internlm/的hf_internlm2_chat_1_8b.py ,贴入以下代码

from opencompass.models import HuggingFaceCausalLM

models = [
dict(
type=HuggingFaceCausalLM,
abbr=‘internlm2-1.8b-hf’,
path=“/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b”,
tokenizer_path=‘/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b’,
model_kwargs=dict(
trust_remote_code=True,
device_map=‘auto’,
),
tokenizer_kwargs=dict(
padding_side=‘left’,
truncation_side=‘left’,
use_fast=False,
trust_remote_code=True,
),
max_out_len=100,
min_out_len=1,
max_seq_len=2048,
batch_size=8,
run_cfg=dict(num_gpus=1, num_procs=1),
)
]

配置环境变量

#环境变量配置
export MKL_SERVICE_FORCE_INTEL=1
#或
export MKL_THREADING_LAYER=GNU

运行命令启动测评

python run.py --datasets ceval_gen --models hf_internlm2_chat_1_8b --debug

注意,python3.10默认会安装numpy>=2.0导致报错,可以通过安装低版本numpy解决(i.e.1.35.0,取决于其他python程序的minimal requirements)

测评过程较长,推荐后台执行,将结果输出到文件。结果如图。
在这里插入图片描述
在这里插入图片描述

第三步 - 测评方法2,命令行配置参数方法
OpenCompass 还允许用户在配置文件中编写完整配置,配置文件是以 Python 格式组织的,并且必须包括 datasets 和 models 字段。通过编写文件 /root/opencompass/configs/eval_tutorial_demo.py,内容如下。

from mmengine.config import read_base
/
with read_base():
from .datasets.ceval.ceval_gen import ceval_datasets
from .models.hf_internlm.hf_internlm2_chat_1_8b import models as hf_internlm2_chat_1_8b_models
/
datasets = ceval_datasets
models = hf_internlm2_chat_1_8b_models

然后运行

cd /root/opencompass
python run.py configs/eval_tutorial_demo.py --debug

同样会启动测评过程,同样推荐后台执行,将结果输出到文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值