零一万物Yi-1.5系列模型发布并开源!34B/9B/6B 多尺寸魔搭社区推理微调最佳实践教程来啦!

简介: Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。

一、导读

Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。

image.png

与 Yi 相比,Yi-1.5 在编码、数学、推理和指令跟踪能力方面表现更强,同时在语言理解、常识推理和阅读理解方面仍然保持出色的能力。

Model

Context Length

Pre-trained Tokens

Yi-1.5

4K

3.6T

模型

  • 对话模型
  • 基础模型

模型评测

  • 对话模型

Yi-1.5-34B-Chat 在多数基准测试中表现与更大规模的模型相当甚至超越它们。

Yi-1.5-9B-Chat 是同规模的开源模型中表现顶尖。

  • 基础模型

Yi-1.5-34B 在多数基准测试中表现与更大规模的模型相当甚至超越它们。

Yi-1.5-9B 是同规模的开源模型中表现顶尖。

以下为大家带来魔搭社区推理、微调最佳实践教程。

二、模型体验

模型体验链接:https://modelscope.cn/studios/01ai/Yi-1.5-34B-Chat-Demo/summary

自我认知:

数学:

逻辑:

三、环境配置与安装

本文使用的模型为Yi-1.5-6B-Chat模型,在ModelScope的Notebook的环境(这里以PAI-DSW为例)的配置下运行(显存24G) 。

环境配置与安装

本文主要演示的模型推理代码可在魔搭社区免费实例PAI-DSW的配置下运行(显存24G) :

点击模型右侧Notebook快速开发按钮,选择GPU环境

打开Notebook环境

四、 模型链接和下载

Yi-9B现已在ModelScope社区开源,模型链接:

https://www.modelscope.cn/models/01ai/Yi-9B/summary

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

from modelscope import snapshot_download
model_dir = snapshot_download("01ai/Yi-1.5-6B-Chat")

五、Yi-1.5系列模型推理

模型推理

from modelscope import AutoModelForCausalLM, AutoTokenizer,snapshot_download
import torch
model_dir = snapshot_download('01ai/Yi-1.5-6B-Chat')
tokenizer = AutoTokenizer.from_pretrained(model_dir, use_fast=False)
# Since transformers 4.35.0, the GPT-Q/AWQ model can be loaded using AutoModelForCausalLM.
model = AutoModelForCausalLM.from_pretrained(
    model_dir,
    device_map="auto",
    torch_dtype=torch.bfloat16
).eval()
# Prompt content: "hi"
messages = [
    {"role": "user", "content": "浙江的省会是哪里?"}
]
input_ids = tokenizer.apply_chat_template(conversation=messages, tokenize=True, add_generation_prompt=True, return_tensors='pt')
output_ids = model.generate(input_ids.to('cuda'))
response = tokenizer.decode(output_ids[0][input_ids.shape[1]:], skip_special_tokens=True)
# Model response: "Hello! How can I assist you today?"
print(response)

显存占用:

六、Yi-1.5系列模型微调和微调后推理

我们使用swift来对模型进行微调, swift是魔搭社区官方提供的LLM微调推理框架.

微调代码开源地址: https://github.com/modelscope/swift

以yi-1.5-9b-chat模型为例,我们使用swift提供的自我认知数据集进行训练, 改变模型对自己和作者的认知。目前魔搭社区已经支持了yi1.5-6B/9B/34B全系列模型(包含量化模型)的训练和推理。请点击链接来查看具体支持的模型类型:https://github.com/modelscope/swift/blob/main/docs/source/LLM/%E6%94%AF%E6%8C%81%E7%9A%84%E6%A8%A1%E5%9E%8B%E5%92%8C%E6%95%B0%E6%8D%AE%E9%9B%86.md

环境准备:

git clone https://github.com/modelscope/swift.git
cd swift
pip install .[llm]

微调脚本: LoRA

# Experimental environment: A100
# 19GB GPU memory
swift sft \
    --model_type yi-1_5-9b-chat \
    --sft_type lora \
    --dataset self-cognition#1000 \
    --dtype AUTO \
    --num_train_epochs 1 \
    --max_length 1024 \
    --check_dataset_strategy warning \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules ALL \
    --gradient_checkpointing true \
    --batch_size 1 \
    --weight_decay 0.1 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --use_flash_attn true \
    --model_name 小白 'Xiao Bai' \
    --model_author 魔搭 ModelScope \

微调后推理脚本: (这里的ckpt_dir需要修改为训练生成的checkpoint文件夹)

# Experimental environment: A100
CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --ckpt_dir "output/yi-1_5-9b-chat/vx-xxx/checkpoint-xxx" \
    --use_flash_attn true \
    --temperature 0.3 \
    --top_p 0.7 \
    --repetition_penalty 1. \
    --do_sample true \
    --merge_lora false

微调的可视化结果:

训练前生成样例:

训练后生成样例:

(微调后通用能力测试)

资源占用

微调

七、Yi-1.5系列模型量化方法

社区开发者基于AWQ和GPTQ的方法,对Yi-1.5系列模型量化,量化后的模型已开源在魔搭社区,欢迎开发者体验和反馈。

  • 量化后模型

点击链接了解更多

https://modelscope.cn/brand/view/Yi1_5

相关文章
|
数据采集 芯片
GWAS全基因组关联分析入门教程
GWAS全基因组关联分析入门教程
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
人工智能 Rust Apache
社区供稿 | 更长、更强、更开放,零一万物 Yi-1.5 系列开源模型发布一周广受好评
5 月 13 日,零一万物 Yi 系列开源模型全新升级为 Yi-1.5。相较于去年 11 月的开源版本,这次的 Yi-1.5 在保持原 Yi 系列模型优秀的通用语言能力的前提下,通过增量训练 500B 高质量 token,大幅提高了数学逻辑、代码能力。
|
机器学习/深度学习 存储 文字识别
阿里国际Ovis2系列模型开源:多模态大语言模型的新突破
Ovis是阿里巴巴国际化团队提出的新型多模态大模型架构,通过巧妙地将视觉和文本嵌入进行结构化对齐,为解决模态间嵌入策略差异这一局限性提供了方案。
1286 2
阿里国际Ovis2系列模型开源:多模态大语言模型的新突破
|
机器学习/深度学习 数据采集 数据处理
Pipeline基础语法
Pipeline是处理数据流和构建机器学习模型的重要工具,它能够简化代码、提高可读性并减少错误。通过本篇文章,读者应能掌握Pipeline的基本语法、使用方法及其在数据科学中的重要性。正确使用Pipeline将极大地提高机器学习项目的效率与可靠性。希望本文能为您的数据处理工作提供实用的指导和帮助。
1460 9
|
机器学习/深度学习 人工智能 前端开发
【AI系统】图算 IR
本文全面介绍了计算图的概念及其在AI框架中的应用,涵盖计算图的基本构成、与自动微分的关系、静态图与动态图的生成及特点,以及计算图对AI编译器的重要作用。文章详细解析了计算图的结构,包括张量和算子的角色,探讨了AI框架如何通过计算图实现自动微分,同时对比了静态图和动态图的优缺点,指出了计算图在优化AI编译器性能方面的关键作用。
566 0
|
数据采集 数据可视化 数据挖掘
利用 Jupyter 实现自动化报告生成 展示如何结合 Jupyter 和 Python 库
【8月更文第29天】为了创建自动化报告,我们可以利用 Jupyter Notebook 结合 Python 的强大库如 Pandas、Matplotlib 和 Seaborn 来处理数据、制作图表,并使用 Jinja2 模板引擎来生成 HTML 报告。这种方式非常适合需要定期生成相同类型报告的情况,比如数据分析、业务报表等。
1420 1
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】Transformers大模型库(二):AutoModelForCausalLM
【AI大模型】Transformers大模型库(二):AutoModelForCausalLM
1069 1
|
人工智能 Swift 决策智能
社区供稿 | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
在 2024 年 7 月 4 日的 WAIC 科学前沿主论坛上,上海人工智能实验室推出了书生·浦语系列模型的全新版本——InternLM2.5。
使用Qt Creator 出现的一些错误
使用Qt Creator 出现的一些错误
518 1

热门文章

最新文章