Yi 系列大模型:零一万物开发的高性能语言模型

FreeGuideOnline 最新 2026-06-22

Yi 系列大模型入门指南

Yi 系列是由李开复创办的零一万物(01.AI)发布的一系列开源大语言模型及多模态模型。该系列在多项基准测试中展示了与 GPT-3.5 等闭源模型相当甚至更优的性能,并因其完全开放的权重、丰富的生态集成和明确的商用许可,成为了全球开发者社区高度关注的项目。

为什么选择 Yi 系列?

  • 性能卓越:Yi-34B 在 HellaSwag、MMLU 等任务中得分超越 Llama 2-70B 及部分早期 GPT-3.5 版本。
  • 完全开放:模型权重全面开源,支持研究、商业用途(需遵守 Apache 2.0 许可及 Yi 系列附加条款)。
  • 多尺寸覆盖:提供 6B、9B、34B 等不同参数量版本,兼顾边缘设备与云端部署。
  • 多模态扩展:Yi-VL 模型支持图文理解,Yi-Coder 专注代码生成。
  • 中文优化:对中文语境有更深的理解和生成能力,同时保持优秀的英文性能。
  • 生态友好:已集成至 Hugging Face Transformers、Ollama、llama.cpp、vLLM 等主流框架,部署方便。

模型家族速览

目前 Yi 系列主要包含以下分支,开发者可根据场景选择:

基础语言模型

  • Yi-6B:60 亿参数,适合个人电脑、手机端推理,轻量高效。
  • Yi-9B:90 亿参数,兼顾性能与成本,是 6B 的理想升级选择。
  • Yi-34B:340 亿参数,旗舰性能,需较高显存(例如 24 GB VRAM 可运行量化版本)。
  • Yi-1.5 系列:对 6B/9B/34B 的全面升级版本,训练数据更精炼,指令遵循能力更强,上下文长度提升至 32K。

对话与指令模型

  • Yi-6B-Chat / Yi-34B-Chat:经指令微调的对话版本,适合聊天机器人、文本生成等任务。
  • Yi-1.5-Chat:1.5 版本的对话模型,支持长上下文与更丰富的交互格式。

多模态与专用模型

  • Yi-VL:在基础语言模型之上增加视觉编码器,支持图像描述、视觉问答等任务。
  • Yi-Coder:专为代码生成优化的模型,在 HumanEval 等基准上表现突出,支持代码补全、自然语言到代码转换。

技术亮点解析

架构设计

Yi 系列基于与 LLaMA 类似的 Transformer 解码器架构,并进行了以下增强:

  • 旋转位置编码(RoPE):增强长度外推能力,Yi-34B 原生支持 4K 上下文,通过微调可扩展至 200K。
  • SwiGLU 激活函数:提升训练效率和模型表现。
  • 分组查询注意力(GQA,部分版本):在较大模型中有效降低推理显存占用。

训练数据策略

零一万物构建了高质量、多语言的训练数据集,总量达 3.1 万亿 token。特别注重数据的清洗与配比:

  • 中英文数据并重,并包含代码、数学、科学文献等高质量语料。
  • 采用严格的数据去重、过滤和隐私脱敏流程。
  • 在 1.5 版本中,通过数据配比优化和持续预训练,显著提升了指令理解能力,减少幻觉。

上下文推理

Yi-34B 在微调时可轻松将上下文窗口扩展至 200K(约 30 万个汉字),且保持不错的困惑度。这使得它适用于长文档摘要、法律文书分析等需要长程理解的场景。

快速上手示例

环境准备

首先安装相关 Python 库(推荐 Python 3.8 以上):

pip install transformers torch accelerate

如果希望使用注意力机制加速,可安装 flash-attn(需 CUDA 支持):

pip install flash-attn --no-build-isolation

使用 Transformers 加载 Yi-Chat 模型

以下代码演示如何加载 Yi-6B-Chat 并生成对话响应:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_path = "01-ai/Yi-6B-Chat"

tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False)
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    device_map="auto",
    torch_dtype="auto"
)

messages = [{"role": "user", "content": "请用一句话介绍零一万物的Yi模型家族。"}]

# 应用聊天模板
input_ids = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

output_ids = model.generate(
    input_ids,
    max_new_tokens=256,
    do_sample=True,
    temperature=0.7,
    top_p=0.8
)

response = tokenizer.decode(output_ids[0][input_ids.shape[1]:], skip_special_tokens=True)
print(response)

注意:Yi-Chat 系列使用特定的聊天模板,apply_chat_template 会自动添加正确的格式标记(如 <|im_start|> 等)。使用未微调的基础模型时则无需此模板。

通过 Ollama 一分钟部署

如果你更习惯命令行交互,Ollama 提供了最简便的运行方式:

  1. 安装 Ollama(https://ollama.com
  2. 拉取 Yi 模型(以 6B 为例):
ollama run yi:6b-chat

之后可直接对话。对于 34B 量化版本,也可使用 ollama run yi:34b-chat-q4_K_M

llama.cpp 本地优化推理

对于硬件资源有限的用户,使用 llama.cpp 进行量化推理是一个绝佳选择。

  1. 克隆仓库并编译:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make
  1. 从 Hugging Face 下载 Yi-6B-Chat 的 GGUF 格式文件(由社区转换或从官方源获取),假设文件名为 yi-6b-chat.Q4_K_M.gguf

  2. 启动交互式会话:

./main -m yi-6b-chat.Q4_K_M.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n 256 -i --chat-template yi

llama.cpp 支持 Yi 专用的聊天模板,确保对话格式正确。

性能基准快照

模型 HellaSwag (10-shot) MMLU (5-shot) C-Eval (5-shot) 参数
Yi-6B 75.7 53.5 55.1 6B
Yi-9B 79.4 61.9 64.0 9B
Yi-34B 85.1 76.3 81.4 34B
Llama 2-70B 85.2 68.9 70B

(数据来源:零一万物官方技术报告及 Hugging Face Open LLM Leaderboard,不同评测配置可能略有差异)

多模态任务初探:Yi-VL

Yi-VL 模型可完成图文理解和问答。以下为使用示例概要:

from transformers import AutoModelForVision2Seq, AutoTokenizer
import torch
from PIL import Image

model_path = "01-ai/Yi-VL-6B"  # 或 "01-ai/Yi-VL-34B"
model = AutoModelForVision2Seq.from_pretrained(model_path, torch_dtype="auto", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_path)

image = Image.open("example.jpg")
prompt = "描述这张图片中的主要内容"

inputs = tokenizer(prompt, image, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(output[0], skip_special_tokens=True))

别忘了安装支持视觉的依赖:pip install pillow torchvision

微调与定制

Yi 系列完全兼容 Hugging Face 生态,可使用 LoRA 或全参数微调。

  • LoRA:推荐使用 peft 库,结合 transformers.Trainer 进行高效微调。以 Yi-6B 为例,在单张 RTX 4090 上即可完成适配。
  • 全参数微调:需要多卡并行,可借助 deepspeedaccelerate
  • 官方推荐的学习率约为 2e-5 至 5e-5,批量大小根据资源调整。

社区已有大量适配 Yi 的开放数据集,如 Alpaca-GPT4 中文、Firefly 等,可直接用于中文指令微调。

常见问题与注意事项

上下文长度限制

基础模型原生上下文为 4K tokens。Chat 版本在微调时已扩展至 4K 或 32K(1.5 版本)。若需更长上下文,推荐使用支持 RoPE 缩放的推理方法,或采用 Yi-34B-200K 等专门版本。

许可说明

模型权重遵循 Apache 2.0,但需遵守 Yi 系列专门条款,主要包括:必须按要求标注出处、不得用于违反法律法规的用途、对于超过 7 亿月活用户的大规模商业产品需额外申请许可。请在使用前详细阅读 https://huggingface.co/01-ai 中的 LICENSE 文件。

输出语言控制

Yi 系列训练数据包含高比例英文,但中文指令微调模型已经很好地平衡了双语输出。如果遇到惯性输出英文的情况,可以在系统提示中明确要求“请用中文回答”。

资源链接

结语

Yi 系列凭借出色的性能、开放的生态和完善的中英文支持,已成为个人开发者、中小型企业构建 AI 应用的优先选择。无论是需要一个轻量级的对话助手,还是构建复杂的多模态理解系统,Yi 都能提供坚实可靠的基座。立即下载体验,成为 Yi 生态的一部分吧!