腾讯混元Large模型总参数量约389B,激活参数量约52B ,上下文长度达256k,是当前业界参数规模最大、效果最好的Transformer架构的开源MoE模型,更适配开源框架精调和部署。
大家好,我是章北海
最近腾讯在大模型开源社区风头很盛
前两天又开源了混元-Large 模型:Hunyuan-A52B-Pretrain,Hunyuan-A52B-Instruct 和 Hunyuan-A52B-FP8,可支持企业及开发者精调、部署等不同场景的使用需求,可在 HuggingFace、Github 等技术社区直接下载,免费可商用。
我简单看了一下,申请了api,走了一遍开发全流程,这里简单介绍一下。
目录:
简介
测试
开发
简介
技术创新点
采用随机补偿的路由方式,将由于专家满负载原本会丢弃的专家随机路由到其他仍有负载冗余的专家,同时提升模型的训练稳定性和收敛速度。
采用Grouped-Query Attention(GQA)和Cross-Layer Attention (CLA)两种策略,对KV Cache进行了压缩。Hunyuan-Large模型的head数通过GQA从80压缩到8,并通过CLA每两层共用KV激活值,最终将模型的KV Cache压缩为MHA的5%,大幅提升推理性能。
模型性能遥遥领先
Hunyuan-Large在与业界开源的DeepSeek-V2 、Llama3.1-70B、Llama3.1-405B以及Mixtral-8x22B的对比中,在CMMLU、MMLU、CEval等多学科综合评测集、中英文NLP任务、代码和数学等9大维度全面领先,处于行业领先水平。
测试
官方提供了测试地址:https://huggingface.co/spaces/tencent/Hunyuan-Large
可以简单提问,但是复杂问题报error
额外说一句,这样的chatbot其实开发起来很简单,都是用Gradio开发的,代码如下:
import os
import gradio as gr
import json
import types
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.hunyuan.v20230901 import hunyuan_client, models
def respond(
message,
history: list[tuple[str, str]],
system_message,
max_tokens,
temperature,
top_p,
):
default_system = 'You are a helpful assistant.'
messages = [{"Role": "system", "Content": default_system}]
secret_id = os.getenv('SECRET_ID')
secret_key = os.getenv('SECRET_KEY')
cred = credential.Credential(secret_id, secret_key)
httpProfile = HttpProfile()
httpProfile.endpoint = "hunyuan.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
client = hunyuan_client.HunyuanClient(cred, "", clientProfile)
req = models.ChatCompletionsRequest()
for val in history:
if val[0]:
messages.append({"Role": "user", "Content": val[0]})
if val[1]:
messages.append({"Role": "assistant", "Content": val[1]})
messages.append({"Role": "user", "Content": message})
params = {
"Model": "hunyuan-large",
"Messages": messages,
"Stream": True,
"StreamModeration": True,
"EnableEnhancement": False,
}
req.from_json_string(json.dumps(params))
resp = client.ChatCompletions(req)
response = ""
for event in resp:
data = json.loads(event['data'])
token = data['Choices'][0]['Delta']['Content']
response += token
yield response
demo = gr.ChatInterface(
respond,
title="Hunyuan-Large"
)
if __name__ == "__main__":
demo.launch()
开发
本地部署我没有实力,机器性能hold不住
可以申请 api_key,用SDK接入
https://console.cloud.tencent.com/hunyuan
个人建议用OpenAI SDK方式接入
❝混元 API 兼容了 OpenAI 的接口规范,这意味着您可以直接使用 OpenAI 官方提供的 SDK 来调用混元大模型。您仅需要将
base_url
和api_key
替换成混元的相关配置,不需要对应用做额外修改,即可无缝将您的应用切换到混元大模型。
官方赠送了100万token免费资源包
官方也提供了Python、NodeJS、Golang的开发示例
下面是 Python 示例
import os
from openai import OpenAI
# 构造 client
client = OpenAI(
api_key=os.environ.get("HUNYUAN_API_KEY"), # 混元 APIKey
base_url="https://api.hunyuan.cloud.tencent.com/v1", # 混元 endpoint
)
# 自定义参数传参示例
completion = client.chat.completions.create(
model="hunyuan-pro",
messages=[
{
"role": "user",
"content": "你好",
},
],
extra_body={
"key": value, # <- 自定义参数
},
)
我把他配置到了沉浸式翻译
后续感受,再向大家分享。
更多参考资料如下:
论文:https://arxiv.org/abs/2411.02265
官网:https://llm.hunyuan.tencent.com/
代码:https://github.com/Tencent/Hunyuan-Large
测试:https://huggingface.co/spaces/tencent/Hunyuan-Large
模型:https://huggingface.co/tencent/Tencent-Hunyuan-Large/tree/main
文档:https://cloud.tencent.com/document/product/1729
API :https://cloud.tencent.com/product/hunyuan
108页PDF小册子:搭建机器学习开发环境及Python基础
全网最全 Python、机器学习、AI、LLM 速查表(100 余张)
Obsidian AI写作神器:一键配置DeepSeek,写作效率飙升1000%!
基于 QAnything 的知识库问答系统:技术解析与应用实践【附代码】
⬆️关注:领取Python、机器学习资料包⬆️