vivo AI全球研究院 BlueLM-7B系列开源!魔搭社区最佳实践教程来了!

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: BlueLM 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,本次发布包含 7B 基础模型、7B 对话模型,4bits量化的7B对话模型,支持 32K 的长文本基础模型和对话模型。

导读

BlueLM 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,本次发布包含 7B 基础模型、7B 对话模型,4bits量化的7B对话模型,支持 32K 的长文本基础模型和对话模型。

  • 更大量的优质数据:高质量语料库进行训练,规模达到了 2.6 万亿 的 token 数,该语料库包含中文、英文以及少量日韩数据。
  • 更优的效果:其中 BlueLM-7B-Chat 在 C-Eval 和 CMMLU 上均取得领先结果,对比同尺寸开源模型中具有较强的竞争力。
  • 长文本支持:BlueLM-7B-Base-32K 和 BlueLM-7B-Chat-32K 均支持 32K 长文本,在保持基础能力相当情况下,能够支持更长上下文理解。
  • 协议说明:BlueLM 系列欢迎开发者进行学术研究和商业应用。

BlueLM系列已全线在魔搭社区开源,以下是社区最新鲜的模型推理、微调最佳实践教程,欢迎开发者小伙伴们体验!

环境配置与安装

  1. python 3.8及以上版本
  2. pytorch 1.12及以上版本,推荐2.0及以上版本
  3. 建议使用CUDA 11.4及以上

使用步骤

本文主要演示的模型为 BlueLM-7B-Chat,在ModelScope的Notebook的环境(这里以PAI-DSW为例)的配置下运行(显存24G) :

服务器连接与环境准备

1、进入ModelScope首页:modelscope.cn,进入我的Notebook

1dbd4343-1e83-4ff1-9a17-5a3214bfc4b0[1].png

2、选择GPU环境,进入PAI-DSW在线开发环境

5e805984-9e3c-4925-b1af-a2c979de83a3[1].png

3、新建Notebook

1c4fe977-7b11-4e68-a6dc-fb6dcbe38a50[1].png

模型链接和下载

BlueLM系列模型现已在ModelScope社区开源,包括:

BlueLM-7B-Base模型:

https://modelscope.cn/models/vivo-ai/BlueLM-7B-Base

BlueLM-7B-Chat模型:

https://modelscope.cn/models/vivo-ai/BlueLM-7B-Chat

BlueLM-7B-Base-32K模型:

https://modelscope.cn/models/vivo-ai/BlueLM-7B-Base-32K

BlueLM-7B-Chat-32K模型:

https://modelscope.cn/models/vivo-ai/BlueLM-7B-Chat-32K

BlueLM-7B-Chat-4bits模型:

https://modelscope.cn/models/vivo-ai/BlueLM-7B-Chat-4bits

社区支持直接下载模型的repo:

from modelscope import snapshot_download
model_dir = snapshot_download("vivo-ai/BlueLM-7B-Chat", revision="v1.0.2")

模型推理

推理代码:

import torch
from modelscope import AutoModelForCausalLM, AutoTokenizer, snapshot_download
model_dir = snapshot_download("vivo-ai/BlueLM-7B-Chat", revision="v1.0.2")
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True, use_fast=False)
model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="cuda:0", torch_dtype=torch.bfloat16, trust_remote_code=True)
model = model.eval()
inputs = tokenizer("[|Human|]:三国演义的作者是谁?[|AI|]:", return_tensors="pt")
inputs = inputs.to("cuda:0")
pred = model.generate(**inputs, max_new_tokens=64, repetition_penalty=1.1)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))

资源消耗:

cbab0903-3f63-4e53-bda6-a1a0805bff4b[1].png

BlueLM-7b-chat微调和微调后推理

微调代码开源地址:

https://github.com/modelscope/swift/tree/main/examples/pytorch/llm

以下微调脚本可以在ModelScope的免费算力DSW-PAI下运行.

clone swift仓库并安装swift

# 设置pip全局镜像和安装相关的python包
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
git clone https://github.com/modelscope/swift.git
cd swift
pip install .[llm]
# 下面的脚本需要在此目录下执行
cd examples/pytorch/llm
# 如果你想要使用deepspeed.
pip install deepspeed -U
# 如果你想要使用基于bnb的qlora训练.
pip install bitsandbytes -U

模型微调脚本 (lora)

# Experimental environment: A10, 3090
# 17GB GPU memory
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_sft.py \
    --model_id_or_path vivo-ai/BlueLM-7B-Chat \
    --model_revision master \
    --sft_type lora \
    --tuner_backend swift \
    --template_type bluelm \
    --dtype bf16 \
    --output_dir output \
    --dataset blossom-math-zh \
    --train_dataset_sample -1 \
    --num_train_epochs 1 \
    --max_length 2048 \
    --check_dataset_strategy warning \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules AUTO \
    --gradient_checkpointing true \
    --batch_size 1 \
    --weight_decay 0.01 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 100 \
    --save_steps 100 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --push_to_hub false \
    --hub_model_id bluelm-7b-chat-lora \
    --hub_private_repo true \
    --hub_token 'your-sdk-token' \

模型微调后的推理脚本

# Experimental environment: A10, 3090
PYTHONPATH=../../.. \
CUDA_VISIBLE_DEVICES=0 \
python llm_infer.py \
    --ckpt_dir "output/bluelm-7b-chat/vx_xxx/checkpoint-xxx" \
    --load_args_from_ckpt_dir true \
    --eval_human false \
    --max_length 2048 \
    --max_new_tokens 2048 \
    --temperature 0.9 \
    --top_k 20 \
    --top_p 0.9 \
    --repetition_penalty 1.05 \
    --do_sample true \
    --merge_lora_and_save false \

微调的可视化结果

训练损失:

e5c18818-803d-41c9-ac0f-ff66c5c7804a[1].png

评估损失:

83e4af04-b71b-47ed-bb58-dbd8ac14df1d[1].png

训练后生成样例:

[PROMPT]<s> [|Human|]: 学校需新添28套课桌椅,共付款1820元,椅子每把17元,课桌每张多少元?[|AI|]:[OUTPUT]设课桌每张的价格为x元。
根据题意,椅子总价格为28 * 17 = 476元。
课桌的总价格为1820 - 476 = 1344元。
设课桌每张的价格为x元,则28 * x = 1344。
解方程得:x = 1344 / 28 = 48。
所以,课桌每张的价格为48元。
Answer:  48</s>
[LABELS]假设课桌的价格为x元每张。
根据题意可得方程:
28(17+x) = 1820
化简得:
476 + 28x = 1820
移项得:
28x = 1820 - 476
化简得:
28x = 1344
将等式两边同时除以28,得:
x = 1344 / 28
化简得:
x = 48
所以,每张课桌的价格为48元。
Answer: 48
--------------------------------------------------------------------------------
[PROMPT]<s> [|Human|]: 一种小家电,打0.8后的价格是160元,这种小家电原价多少元. [|AI|]:[OUTPUT]根据题意,打0.8后的价格为160元,我们可以表示为:
原价 × 0.8 = 160元
移项得:
原价 = 160元 / 0.8
计算可得:
原价 = 200元
因此,这种小家电的原价为200元。
Answer:  200</s>
[LABELS]设小家电的原价为x元。
根据题意,打0.8折扣后的价格为0.8x元。
根据题意,0.8x = 160。
解这个方程可以得到x = 200。
所以,这种小家电的原价为200元。
Answer: 200

资源消耗:

473dc37d-25e3-4b9e-bc68-2c4ee9f16000[1].png

点击阅读原文,直达BlueLM-7B开源链接

https://modelscope.cn/models/vivo-ai/BlueLM-7B-Base/summary

相关文章
|
3天前
|
人工智能 机器人 UED
不怕不会设计logo拉-本篇教你如何使用AI设计logo-如何快速用AI设计logo-附上AI绘图logo设计的咒语-优雅草央千澈-实战教程
不怕不会设计logo拉-本篇教你如何使用AI设计logo-如何快速用AI设计logo-附上AI绘图logo设计的咒语-优雅草央千澈-实战教程
107 85
不怕不会设计logo拉-本篇教你如何使用AI设计logo-如何快速用AI设计logo-附上AI绘图logo设计的咒语-优雅草央千澈-实战教程
|
3天前
|
人工智能 供应链 PyTorch
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
TimesFM 2.0 是谷歌研究团队开源的时间序列预测模型,支持长达2048个时间点的单变量预测,具备零样本学习能力,适用于零售、金融、交通等多个领域。
59 23
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
Agent Laboratory:AI自动撰写论文,AMD开源自动完成科研全流程的多智能体框架
Agent Laboratory 是由 AMD 和约翰·霍普金斯大学联合推出的自主科研框架,基于大型语言模型,能够加速科学发现、降低成本并提高研究质量。
92 23
Agent Laboratory:AI自动撰写论文,AMD开源自动完成科研全流程的多智能体框架
|
5天前
|
人工智能 资源调度 JavaScript
PPTAgent:中科院开源AI工具,自动将文档转化为高质量PPT
PPTAgent 是中科院推出的自动生成演示文稿框架,基于两阶段编辑方法,支持智能分析、大纲生成、幻灯片生成与评估,适用于教育、企业培训等多种场景。
147 18
PPTAgent:中科院开源AI工具,自动将文档转化为高质量PPT
|
8天前
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
49 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
|
5天前
|
人工智能 API UED
AI智能体再进化,工作流怎么玩?阿里云百炼上手教程
本次分享由讲师林粒粒呀介绍如何快速制作AI智能工具,特别是利用阿里云百炼平台创建工作流。通过简单的拖拽操作,小白用户也能轻松上手,实现从PPT主题到大纲的自动生成,并能一次性生成多个版本。借助API和Python脚本,还可以将Markdown格式的大纲转换为本地PPT文件。整个流程展示了AI智能体在实际应用中的高效性和实用性,帮助用户大幅提升工作效率。
74 31
|
1天前
|
存储 人工智能 NoSQL
Tablestore深度解析:面向AI场景的结构化数据存储最佳实践
《Tablestore深度解析:面向AI场景的结构化数据存储最佳实践》由阿里云专家团队分享,涵盖Tablestore十年发展历程、AI时代多模态数据存储需求、VCU模式优化、向量检索发布及客户最佳实践等内容。Tablestore支持大规模在线数据存储,提供高性价比、高性能和高可用性,特别针对AI场景进行优化,满足结构化与非结构化数据的统一存储和高效检索需求。通过多元化索引和Serverless弹性VCU模式,助力企业实现低成本、灵活扩展的数据管理方案。
22 12
|
1天前
|
存储 人工智能 Kubernetes
MiniMax云上AI数据湖最佳实践
本简介介绍MiniMax云上AI数据湖的最佳实践。MiniMax成立于2021年,专注于通用人工智能领域,提供ToB和C端产品。面对每日3万亿token、2000万张图片及7万小时语音数据的处理需求,MiniMax基于阿里云构建了稳定灵活的基础设施,采用多云策略实现全球化部署。通过引入Kubernetes、Ray等技术,优化了多模态数据处理效率,并利用对象存储与数据湖技术降低成本。此外,与阿里云合作开发边缘缓存方案,提升跨地域数据传输效率。主讲人:阿里云弹性计算技术专家高庆端。
21 10
|
2天前
|
人工智能 Cloud Native 大数据
云+AI开启算力新时代,共建开源开放生态赴未来 | 2024龙蜥大会主论坛
本次分享的主题是云 + AI开启算力新时代,共建开源开放生态赴未来 | 2024龙蜥大会主论坛,由阿里巴巴集团合伙人、阿里云基础设施事业部总经理蒋江伟分享。
|
2天前
|
人工智能 供应链 安全
阿里云 Confidential AI 最佳实践
本次分享的主题是阿里云 Confidential AI 最佳实践,由阿里云飞天实验室操作系统安全团队工程师张佳分享。主要分为三个部分: 1. Confidential AI 技术背景与挑战 2. Confidential AI 技术架构与应用场景 3. Confidential AI 技术实践与未来展望

热门文章

最新文章