百川模型第二波,魔搭最佳实践教程来了!

简介: 百川智能宣布正式发布并开源Baichuan 2!开源包括Baichuan 2-7B、Baichuan 2-13B、Baichuan 2-13B-Chat与其4bit量化版本,并且均为免费可商用。

导读


今天,百川智能宣布正式发布并开源Baichuan 2!开源包括Baichuan 2-7B、Baichuan 2-13B、Baichuan 2-13B-Chat与其4bit量化版本,并且均为免费可商用。


Baichuan 2 是百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练,在权威的中文和英文 benchmark上均取得同尺寸最好的效果。


Baichuan 2 目前在魔搭社区已全面开源上线,大家可以体验起来啦!小编特将最新鲜的魔搭体验、推理最佳实践奉上。



环境配置与安装


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


使用步骤

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


服务器连接与环境准备

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


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


3、新建Notebook



创空间体验


创空间描述:

据官方公布的基准测试数据,Baichuan2-13B相比上一代13B模型,在数学能力(↑49%)、代码能力(↑46%)、安全能力(↑37%)、逻辑推理能力(↑25%)、语义理解能力(↑15%)上均有显著提升。


魔搭社区上线了 Baichuan2-13B-Chat的体验Demo(Baichuan2-13B-Chat为Baichuan2-13B系列模型中对齐后的版本),欢迎大家体验实际效果!


创空间链接:

https://modelscope.cn/studios/baichuan-inc/Baichuan-13B-Chatdemo/summary


晒出一些小编基于各维度随机抽问的一次性测试案例:

  • 国际惯例先上自我认知


  • 数学


  • 编程


  • 安全


  • 逻辑推理


                             

  • 语义理解



模型链接及下载



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


百川2-7B-预训练模型:

https://modelscope.cn/models/baichuan-inc/Baichuan2-7B-Base/summary


百川2-7B-对话模型:

https://modelscope.cn/models/baichuan-inc/Baichuan2-7B-Chat/summary


百川2-7B-对话模型-int4量化版:

https://modelscope.cn/models/baichuan-inc/Baichuan2-7B-Chat-int4/summary


百川2-13B-预训练模型:

https://modelscope.cn/models/baichuan-inc/Baichuan2-13B-Base/summary


百川2-13B-对话模型:

https://modelscope.cn/models/baichuan-inc/Baichuan2-13B-Chat/summary


百川2-13B-对话模型-4bits量化版:

https://modelscope.cn/models/baichuan-inc/Baichuan2-13B-Chat-4bits/summary


百川2-7B-训练过程模型:

https://modelscope.cn/models/baichuan-inc/Baichuan2-7B-Intermediate-Checkpoints/summary


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

from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('baichuan-inc/Baichuan2-7B-Chat', 'v1.0.0')



模型推理


推理代码:

import torch
from modelscope import (
    AutoModelForCausalLM, AutoTokenizer, GenerationConfig, snapshot_download
)
model_id = 'baichuan-inc/Baichuan2-7B-Chat'
revision = 'v1.0.0'
model_dir = snapshot_download(model_id, revision=revision)
tokenizer = AutoTokenizer.from_pretrained(model_dir, use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", 
                                             torch_dtype=torch.bfloat16, 
                                             trust_remote_code=True)
model.generation_config = GenerationConfig.from_pretrained(model_dir)
messages = []
messages.append({"role": "user", "content": "世界第一高峰是哪个"})
response = model.chat(tokenizer, messages)
print(response)


资源消耗:



模型微调和微调后推理



微调代码开源地址:

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


clone swift仓库并安装swift

git clone https://github.com/modelscope/swift.git
cd swift
pip install .
cd examples/pytorch/llm


模型微调脚本 (lora_ddp)

# 4 * 22GB VRAM
nproc_per_node=4
CUDA_VISIBLE_DEVICES=0,1,2,3 \
torchrun \
    --nproc_per_node=$nproc_per_node \
    --master_port 29500 \
    src/llm_sft.py \
    --model_type baichuan2-7b-chat \
    --sft_type lora \
    --template_type baichuan \
    --dtype bf16 \
    --output_dir runs \
    --ddp_backend nccl \
    --dataset alpaca-en,alpaca-zh \
    --dataset_sample 20000 \
    --num_train_epochs 1 \
    --max_length 1024 \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules W_pack o_proj \
    --gradient_checkpointing true \
    --batch_size 1 \
    --weight_decay 0. \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps $(expr 16 / $nproc_per_node) \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 50 \
    --save_steps 50 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --push_to_hub false \
    --hub_model_id baichuan2-7b-chat-lora \
    --hub_private_repo true \
    --hub_token 'your-sdk-token' \


模型微调后的推理脚本

# 16G
CUDA_VISIBLE_DEVICES=0 \
python src/llm_infer.py \
    --model_type baichuan2-7b-chat \
    --sft_type lora \
    --template_type baichuan \
    --dtype bf16 \
    --ckpt_dir "runs/baichuan2-7b-chat/vx_xxx/checkpoint-xxx" \
    --eval_human true \
    --max_new_tokens 1024 \
    --temperature 0.9 \
    --top_k 50 \
    --top_p 0.9 \
    --do_sample true \


微调的可视化结果

训练损失:


评估损失


资源消耗:4 * 22G



点击链接直达Baichuan2-13B-Chat创空间体验

https://modelscope.cn/studios/baichuan-inc/Baichuan-13B-Chatdemo/summary

相关文章
|
人工智能 自然语言处理 安全
国内首发,阿里云魔搭社区上架百川智能Baichuan 2系列模型
国内首发,阿里云魔搭社区上架百川智能Baichuan 2系列模型
1380 0
|
自然语言处理 数据可视化 物联网
Qwen1.5-MoE开源,魔搭社区推理训练最佳实践教程来啦
通义千问团队推出Qwen系列的首个MoE模型,Qwen1.5-MoE-A2.7B。
|
应用服务中间件 nginx
Nginx安装nginx-rtmp-module模块
【2月更文挑战第4天】 nginx中的模块虽然就是类似插件的概念,但是它无法像VsCode那样轻松的安装扩展。 nginx要安装其它模块必须同时拿到nginx源代码和模块源代码,然后手动编译,将模块打到nginx中,最终生成一个名为nginx的可执行文件。
1082 6
|
存储 JSON 监控
eBPF 深度探索: 高效 DNS 监控实现(下)
eBPF 深度探索: 高效 DNS 监控实现(下)
1160 0
|
机器学习/深度学习 自然语言处理 搜索推荐
探索机器学习在个性化推荐系统中的应用
【4月更文挑战第23天】 随着大数据和人工智能技术的迅猛发展,机器学习已成为推动个性化推荐系统革新的关键动力。本文将深入探讨如何通过机器学习算法提升推荐系统的精准度和用户体验。首先,概述了推荐系统的工作原理及其重要性;随后,详细分析了几种主流的机器学习技术以及它们在构建个性化推荐系统中的应用实例;最后,讨论了当前面临的挑战及未来的发展趋势。
|
运维 Kubernetes Cloud Native
云原生时代下,如何高效构建与部署微服务
【9月更文挑战第8天】随着云计算技术的飞速发展,云原生已成为现代软件架构的重要趋势。本文将深入浅出地介绍云原生概念、微服务架构的优势以及如何在云平台上高效构建和部署微服务。我们将通过实际的代码示例,展示在Kubernetes集群上部署一个简单的微服务应用的过程,帮助读者理解云原生环境下的微服务开发和运维实践。
|
12月前
|
SQL JSON 数据可视化
基于 DIFY 的自动化数据分析实战
本文介绍如何使用DIFY搭建数据分析自动化流程,实现从输入需求到查询数据库、LLM分析再到可视化输出的全流程。基于经典的employees数据集和DIFY云端环境,通过LLM-SQL解析、SQL执行、LLM数据分析及ECharts可视化等模块,高效完成数据分析任务。此方案适用于人力资源分析、薪酬管理等数据密集型业务,显著提升效率并降低成本。
15149 16
|
并行计算 前端开发 物联网
全网首发!真·从0到1!万字长文带你入门Qwen2.5-Coder——介绍、体验、本地部署及简单微调
2024年11月12日,阿里云通义大模型团队正式开源通义千问代码模型全系列,包括6款Qwen2.5-Coder模型,每个规模包含Base和Instruct两个版本。其中32B尺寸的旗舰代码模型在多项基准评测中取得开源最佳成绩,成为全球最强开源代码模型,多项关键能力超越GPT-4o。Qwen2.5-Coder具备强大、多样和实用等优点,通过持续训练,结合源代码、文本代码混合数据及合成数据,显著提升了代码生成、推理和修复等核心任务的性能。此外,该模型还支持多种编程语言,并在人类偏好对齐方面表现出色。本文为周周的奇妙编程原创,阿里云社区首发,未经同意不得转载。
30796 18
|
数据可视化 物联网 PyTorch
通义千问7B模型开源,魔搭最佳实践来了
通义千问开源!阿里云开源通义千问70亿参数模型,包括通用模型Qwen-7B-Base和对话模型Qwen-7B-Chat,两款模型均已上线ModelScope魔搭社区,开源、免费、可商用,欢迎大家来体验。

热门文章

最新文章