腾讯混元大语言模型系列:开启多场景高效部署新纪元

腾讯混元大语言模型系列:开启多场景高效部署新纪元

【免费下载链接】Hunyuan-0.5B-Instruct-FP8 腾讯开源混元大语言模型系列新成员Hunyuan-0.5B-Instruct-FP8,专为高效部署而生。该模型虽仅0.5B参数量,却继承了混元系列强大基因,支持FP8量化与256K超长上下文,在边缘设备和轻量场景中表现卓越。具备混合推理模式,可灵活切换快慢思考,同时针对智能体任务深度优化,在多项基准测试中领先。无论是数学推理、代码生成还是长文本理解,都能以极低资源消耗提供稳定可靠的智能交互体验 【免费下载链接】Hunyuan-0.5B-Instruct-FP8 项目地址: https://ai.gitcode.com/tencent_hunyuan/Hunyuan-0.5B-Instruct-FP8

腾讯混元大语言模型系列Logo图片 如上图所示,图片中央展示了腾讯混元大语言模型系列的官方Logo。这一视觉标识不仅代表了腾讯在人工智能领域的技术实力,更为开发者和用户提供了直观的品牌认知,有助于在众多大语言模型中快速识别混元系列产品。

模型概述

混元(Hunyuan)是腾讯自主研发的开源高效大语言模型系列,致力于在各类计算环境中实现灵活部署。无论是资源受限的边缘设备,还是高并发的生产系统,该系列模型均能凭借先进的量化支持和超长上下文能力,展现出卓越的性能表现。

目前,混元已发布一系列稠密模型,涵盖预训练与指令微调两种类型,参数规模包括0.5B、1.8B、4B和7B。这些模型采用与混元-A13B相似的训练策略,因而继承了其强大的性能特性。这一全面的模型家族支持从资源受限的边缘计算(选用较小参数模型)到高吞吐量生产环境(选用较大参数模型)的灵活部署优化,同时在不同场景下均保持着强劲的能力。

核心特性与优势

  • 混合推理支持:提供快速思考与慢速思考两种模式,用户可根据实际需求灵活选择,在效率与准确性之间取得平衡。
  • 超长上下文理解:原生支持256K上下文窗口,在长文本处理任务中保持稳定性能,满足各类复杂场景的需求。
  • 增强型智能体能力:针对智能体任务进行优化,在BFCL-v3、τ-Bench和C3-Bench等基准测试中取得领先成果。
  • 高效推理性能:采用分组查询注意力(GQA)技术,并支持多种量化格式,实现高效的推理过程,降低部署成本。

最新动态

  • 2025年7月30日,我们在Hugging Face平台开源了Hunyuan-0.5B-PretrainHunyuan-0.5B-InstructHunyuan-1.8B-PretrainHunyuan-1.8B-InstructHunyuan-4B-PretrainHunyuan-4B-InstructHunyuan-7B-PretrainHunyuan-7B-Instruct等模型,进一步丰富了混元系列的产品矩阵,为开发者提供更多选择。

性能评测

注:以下基准测试结果由TRT-LLM-backend在多个基础模型上评估得出。

模型名称混元-0.5B-预训练混元-1.8B-预训练混元-4B-预训练混元-7B-预训练
MMLU54.0264.6274.0179.82
MMLU-Redux54.7264.4273.5379
MMLU-Pro31.1538.6551.9157.79
SuperGPQA17.2324.9827.2830.47
BBH45.9274.3275.1782.95
GPQA27.7635.8143.5244.07
GSM8K55.6477.2687.4988.25
MATH42.9562.8572.2574.85
EvalPlus39.7160.6767.7666.96
MultiPL-E21.8345.9259.8760.41
MBPP43.3866.1476.4676.19
CRUX-O30.7536.8856.560.75
Chinese SimpleQA12.5122.3130.5338.86
simpleQA (5shot)2.383.614.215.69
评测类别评测基准混元-0.5B-指令微调混元-1.8B-指令微调混元-4B-指令微调混元-7B-指令微调
数学能力AIME 2024
AIME 2025
MATH
17.2
20
48.5
56.7
53.9
86
78.3
66.5
92.6
81.1
75.3
93.7
科学知识GPQA-Diamond
OlympiadBench
23.3
29.6
47.2
63.4
61.1
73.1
60.1
76.5
编程能力Livecodebench
Fullstackbench
11.1
20.9
31.5
42
49.4
54.6
57
56.3
推理能力BBH
DROP
ZebraLogic
40.3
52.8
34.5
64.6
76.7
74.6
83
78.2
83.5
87.8
85.9
85.1
指令跟随IF-Eval
SysBench
49.7
28.1
67.6
55.5
76.6
68
79.3
72.7
智能体能力BFCL v3
τ-Bench
ComplexFuncBench
C3-Bench
49.8
14.4
13.9
45.3
58.3
18.2
22.3
54.6
67.9
30.1
26.3
64.3
70.8
35.3
29.2
68.5
长上下文处理PenguinScrolls
longbench-v2
FRAMES
53.9
34.7
41.9
73.1
33.2
55.6
83.1
44.1
79.2
82
43
78.6

使用Transformers库调用模型

首先,请安装Transformers库。

pip install "transformers>=4.56.0"

我们的模型默认采用慢速思考推理模式,有两种方式可以禁用思维链(CoT)推理。

  1. 调用apply_chat_template时传入**"enable_thinking=False"**参数。
  2. 在提示词前添加**"/no_think"将强制模型不使用CoT推理;同样,在提示词前添加"/think"**将强制模型使用CoT推理。

以下代码片段展示了如何使用Transformers库加载和应用模型,并演示了如何启用和禁用推理模式,以及如何解析推理过程和最终输出。

我们以tencent/Hunyuan-7B-Instruct为例

from transformers import AutoModelForCausalLM, AutoTokenizer
import os
import re

model_name_or_path = "tencent/Hunyuan-7B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, device_map="auto")  # 您可以在此处使用bfloat16和/或移至GPU
messages = [
    {"role": "user", "content": "Write a short summary of the benefits of regular exercise"},
]
tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True,return_tensors="pt",
                                                enable_thinking=True # 切换思考模式(默认:True)
                                                )

outputs = model.generate(tokenized_chat.to(model.device), max_new_tokens=2048)

output_text = tokenizer.decode(outputs[0])
print("output_text=",output_text)
think_pattern = r'</think>(.*?)superscript:'
think_matches = re.findall(think_pattern, output_text, re.DOTALL)

answer_pattern = r'</think>(.*?)superscript:'
answer_matches = re.findall(answer_pattern, output_text, re.DOTALL)

think_content = [match.strip() for match in think_matches][0]
answer_content = [match.strip() for match in answer_matches][0]
print(f"thinking_content:{think_content}\n\n")
print(f"answer_content:{answer_content}\n\n")

我们建议使用以下推理参数集。请注意,我们的模型没有默认的系统提示词。

{
  "do_sample": true,
  "top_k": 20,
  "top_p": 0.8,
  "repetition_penalty": 1.05,
  "temperature": 0.7
}

训练数据格式

如果您需要微调我们的指令微调模型,建议将数据处理为以下格式,分别对应慢速思考和快速思考场景。

# 思考模式
think = ""
answer = ""
think_pattern = f"</think>\n{think}\nsuperscript:\n</think>\n{answer}\n</think>"

# 快速思考模式
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "/no_think海水为什么是咸的" },
    {"role": "assistant", "content": "</think>\n\n</think>\n</think>\n海水是咸的主要是因为其中含有许多溶解在水中的盐类和矿物质。这些盐类和矿物质来自于地球表面的岩石和土壤中的化学物质,随着时间的推移,它们被带到了海洋中。当海水蒸发时,水分蒸发掉了,但盐类和矿物质仍然留在水中,导致海水变得更加咸味。因此,海水的咸度是由其中的盐类和矿物质的含量决定的。\nsuperscript:"}
]

# 慢速思考模式
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "1+1=" },
    {"role": "assistant", "content": "</think>\n嗯,用户问的是1加1等于多少。首先,我需要确认这是一个基本的算术问题。1加1在十进制的数学体系中,通常的结果是2。不过,可能需要考虑是否有其他情况,比如二进制或者其他数制,但用户没有特别说明,所以默认应该是十进制。另外,有时候可能会有脑筋急转弯的情况,比如在某些语境下1+1可能等于1(比如1滴水加1滴水还是1滴水),但通常数学问题中都是2。所以最准确的回答应该是2。</think>\nsuperscript:\n在十进制的基本算术运算中,1加1的结果是2。这是数学中最基础的加法运算之一,遵循自然数的加法规则。因此,1 + 1 = 2。\nsuperscript:"}
]

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("your_tokenizer_path", trust_remote_code=True)
train_ids = tokenizer.apply_chat_template(messages)

使用LLaMA-Factory进行训练

本章将介绍如何使用LLaMA-Factory混元模型进行微调。

前提条件

确保安装以下依赖项:

  • LLaMA-Factory:按照官方安装指南进行安装
  • DeepSpeed(可选):按照官方安装指南进行安装
  • Transformer库:使用配套分支(混元提交的代码正在审核中)
    pip install git+https://github.com/huggingface/transformers@4970b23cedaf745f963779b4eae68da281e8c6ca
    
数据准备

我们需要准备自定义数据集:

  1. 将数据组织为json格式,并放置在LLaMA-Factorydata目录中。当前实现使用sharegpt数据集格式,需要以下结构:
[
  {
    "messages": [
      {
        "role": "system",
        "content": "系统提示词(可选)"
      },
      {
        "role": "user",
        "content": "人类指令"
      },
      {
        "role": "assistant",
        "content": "模型响应"
      }
    ]
  }
]

详情请参考前面提到的数据格式部分。

  1. 在data/dataset_info.json文件中使用以下格式定义您的数据集:
"dataset_name": {
  "file_name": "dataset.json",
  "formatting": "sharegpt",
  "columns": {
    "messages": "messages"
  },
  "tags": {
    "role_tag": "role",
    "content_tag": "content",
    "user_tag": "user",
    "assistant_tag": "assistant",
    "system_tag": "system"
  }
}
训练执行
  1. train/llama_factory_support/example_configs目录中的所有文件复制到LLaMA-Factoryexample/hunyuan目录中。
  2. 修改配置文件hunyuan_full.yaml中的模型路径和数据集名称。根据需要调整其他配置:
### model
model_name_or_path: [!!!在此处添加模型路径!!!]

### dataset
dataset: [!!!在此处添加数据集名称!!!]
  1. 执行训练命令: 单节点训练 注意:设置环境变量DISABLE_VERSION_CHECK为1以避免版本冲突。
    export DISABLE_VERSION_CHECK=1
    llamafactory-cli train examples/hunyuan/hunyuan_full.yaml
    

    多节点训练 在每个节点上执行以下命令。根据您的环境配置NNODES、NODE_RANK、MASTER_ADDR和MASTER_PORT:

    export DISABLE_VERSION_CHECK=1
    FORCE_TORCHRUN=1 NNODES=${NNODES} NODE_RANK=${NODE_RANK} MASTER_ADDR=${MASTER_ADDR} MASTER_PORT=${MASTER_PORT} \
    llamafactory-cli train examples/hunyuan/hunyuan_full.yaml
    

量化压缩

我们使用自研的AngelSlim压缩工具生成FP8和INT4量化模型。AngelSlim是一套致力于打造更易用、全面且高效的模型压缩解决方案的工具集。

FP8量化

我们采用FP8静态量化,该技术使用8位浮点格式,通过少量校准数据(无需训练)预先确定量化尺度,将模型权重和激活值转换为FP8格式,从而提高推理效率并降低部署门槛。您可以使用AngelSlim进行量化,也可以直接下载我们已完成量化的开源模型链接

INT4量化

我们采用GPTQ和AWQ算法实现W4A16量化。

GPTQ逐层处理模型权重,使用少量校准数据最小化量化权重的重构误差,并通过近似海森逆矩阵的优化过程逐层调整权重。该过程无需重新训练模型,仅需少量校准数据即可完成权重量化,提高推理效率并降低部署门槛。 AWQ利用少量校准数据(无需训练),统计计算激活值的幅度。对于每个权重通道,计算缩放系数s以扩展重要权重的数值范围,在量化过程中保留更多信息。

您可以使用AngelSlim进行量化,也可以直接下载我们已完成量化的开源模型链接

量化基准测试

本小节介绍混元量化模型的基准测试指标。

评测基准量化方式混元-0.5B-指令微调混元-1.8B-指令微调混元-4B-指令微调混元-7B-指令微调
DROP

【免费下载链接】Hunyuan-0.5B-Instruct-FP8 腾讯开源混元大语言模型系列新成员Hunyuan-0.5B-Instruct-FP8,专为高效部署而生。该模型虽仅0.5B参数量,却继承了混元系列强大基因,支持FP8量化与256K超长上下文,在边缘设备和轻量场景中表现卓越。具备混合推理模式,可灵活切换快慢思考,同时针对智能体任务深度优化,在多项基准测试中领先。无论是数学推理、代码生成还是长文本理解,都能以极低资源消耗提供稳定可靠的智能交互体验 【免费下载链接】Hunyuan-0.5B-Instruct-FP8 项目地址: https://ai.gitcode.com/tencent_hunyuan/Hunyuan-0.5B-Instruct-FP8

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值