Kimi K2.5 HuggingFace 发布标志着开源 AI 模型领域的重要里程碑。根据月之暗面官方 Kimi-K2.5 仓库与模型资料,Kimi K2.5 已在 HuggingFace Hub 提供,可用于下载与自部署流程。
Kimi K2.5 HuggingFace 模型卡概览
HuggingFace上的Kimi K2.5官方模型卡提供有关模型架构、能力和使用指南的全面信息。
模型信息
| 属性 | 详情 |
|---|---|
| 模型名称 | moonshotai/Kimi-K2.5 |
| 架构 | 混合专家模型(MoE) |
| 总参数量 | 1万亿(1T) |
| 激活参数量 | 320亿(32B) |
| 上下文窗口 | 256,000 tokens |
| 许可证 | 改良版MIT |
| 语言 | 多语言 |
| 模态 | 文本、图像、视频 |
模型页面
官方模型页:https://huggingface.co/moonshotai/Kimi-K2.5
模型页面包含:
- 模型权重和配置文件
- 分词器文件
- 使用示例
- 社区讨论
- 评估结果
从 HuggingFace 下载 Kimi K2.5
使用 HuggingFace Hub CLI
# 安装 HuggingFace Hub
pip install huggingface-hub
# 登录(需要用于受限模型)
huggingface-cli login
# 下载模型
huggingface-cli download moonshotai/Kimi-K2.5 --local-dir ./kimi-k2-5使用 Python
from huggingface_hub import snapshot_download
# 下载模型
model_path = snapshot_download(
repo_id="moonshotai/Kimi-K2.5",
local_dir="./kimi-k2-5",
local_dir_use_symlinks=False
)
print(f"模型下载到: {model_path}")存储需求(近似值)
| 组件 | 大小 |
|---|---|
| 模型权重(FP16) | ~2TB |
| 模型权重(INT8) | ~1TB |
| 模型权重(INT4) | ~500GB |
| 分词器与配置 | ~10MB |
注意:这里是规划级估算,实际占用会随权重格式与部署栈变化。
使用 Transformers 加载 Kimi K2.5
根据 Moonshot 官方部署指南,transformers 最低建议版本为 4.57.1。
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载分词器
tokenizer = AutoTokenizer.from_pretrained(
"moonshotai/Kimi-K2.5",
trust_remote_code=True
)
# 加载模型
model = AutoModelForCausalLM.from_pretrained(
"moonshotai/Kimi-K2.5",
trust_remote_code=True,
torch_dtype="auto",
device_map="auto"
)
# 生成文本
inputs = tokenizer("解释量子计算:", return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=200)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)多GPU加载
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# 在多个GPU间加载device map
model = AutoModelForCausalLM.from_pretrained(
"moonshotai/Kimi-K2.5",
trust_remote_code=True,
torch_dtype=torch.float16,
device_map="auto", # 自动分布在可用GPU上
max_memory={0: "80GiB", 1: "80GiB", 2: "80GiB", 3: "80GiB"}
)量化加载(4-bit)
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
# 配置4-bit量化
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_use_double_quant=True
)
# 加载量化模型
model = AutoModelForCausalLM.from_pretrained(
"moonshotai/Kimi-K2.5",
trust_remote_code=True,
quantization_config=bnb_config,
device_map="auto"
)使用 vLLM 运行 Kimi K2.5
vLLM为大型语言模型提供优化的推理,具有高效的注意力机制和连续批处理。
安装
pip install vllm基础 vLLM 服务器
# 启动 vLLM 服务器
python -m vllm.entrypoints.openai.api_server \
--model moonshotai/Kimi-K2.5 \
--tensor-parallel-size 4 \
--max-model-len 65536 \
--dtype float16vLLM Python API
from vllm import LLM, SamplingParams
# 初始化 LLM
llm = LLM(
model="moonshotai/Kimi-K2.5",
tensor_parallel_size=4,
max_model_len=65536,
dtype="float16"
)
# 配置采样
sampling_params = SamplingParams(
temperature=0.7,
top_p=0.9,
max_tokens=1000
)
# 生成
prompts = [
"解释机器学习:",
"写一个排序列表的Python函数:"
]
outputs = llm.generate(prompts, sampling_params)
for output in outputs:
print(f"提示: {output.prompt}")
print(f"响应: {output.outputs[0].text}\n")使用 vLLM 的 OpenAI 兼容 API
# 启动 vLLM 服务器后
import openai
client = openai.OpenAI(
base_url="http://localhost:8000/v1",
api_key="dummy"
)
response = client.chat.completions.create(
model="moonshotai/Kimi-K2.5",
messages=[
{"role": "user", "content": "你好,Kimi!"}
]
)
print(response.choices[0].message.content)使用 llama.cpp 运行 Kimi K2.5
对于CPU推理或边缘部署,llama.cpp配合GGUF量化使得在消费级硬件上运行 Kimi K2.5 成为可能。
下载 GGUF 版本
社区 GGUF 转换版本可能可用,但可用性变化较快:
# 建议先搜索并验证仍在维护的 GGUF 仓库
# https://huggingface.co/models?search=Kimi-K2.5%20GGUF使用 llama.cpp 运行
# 基础推理
./main \
-m ./models/Kimi-K2.5.Q4_K_M.gguf \
-p "解释量子计算:" \
-n 512 \
--temp 0.7
# 交互模式
./main \
-m ./models/Kimi-K2.5.Q4_K_M.gguf \
--interactive \
--temp 0.7 \
-n 4096Python 绑定
from llama_cpp import Llama
# 加载模型
llm = Llama(
model_path="./models/Kimi-K2.5.Q4_K_M.gguf",
n_ctx=8192,
n_threads=8
)
# 生成
output = llm(
"解释机器学习:",
max_tokens=512,
temperature=0.7
)
print(output["choices"][0]["text"])微调 Kimi K2.5
LoRA 微调
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
TrainingArguments,
Trainer
)
from peft import LoraConfig, get_peft_model
import torch
# 加载基础模型
model = AutoModelForCausalLM.from_pretrained(
"moonshotai/Kimi-K2.5",
trust_remote_code=True,
torch_dtype=torch.float16,
device_map="auto"
)
# 配置 LoRA
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)
# 应用 LoRA
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# 训练配置
training_args = TrainingArguments(
output_dir="./kimi-k2-5-finetuned",
num_train_epochs=3,
per_device_train_batch_size=1,
gradient_accumulation_steps=4,
learning_rate=2e-4,
save_steps=100,
logging_steps=10,
fp16=True
)
# 初始化训练器
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
tokenizer=tokenizer
)
# 训练
trainer.train()部署选项
Docker 部署
FROM nvidia/cuda:12.1-devel-ubuntu22.04
WORKDIR /app
# 安装依赖
RUN pip install torch transformers vllm huggingface-hub
# 下载模型
RUN huggingface-cli download moonshotai/Kimi-K2.5 --local-dir /models/kimi-k2-5
# 启动 vLLM 服务器
CMD python -m vllm.entrypoints.openai.api_server \
--model /models/kimi-k2-5 \
--tensor-parallel-size 4 \
--host 0.0.0.0 \
--port 8000Kubernetes 部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: kimi-k2-5
spec:
replicas: 1
selector:
matchLabels:
app: kimi-k2-5
template:
metadata:
labels:
app: kimi-k2-5
spec:
containers:
- name: vllm
image: vllm/vllm-openai:latest
args:
- --model
- moonshotai/Kimi-K2.5
- --tensor-parallel-size
- '4'
resources:
limits:
nvidia.com/gpu: '4'
ports:
- containerPort: 8000硬件需求
硬件需求强依赖推理引擎、张量并行规模、上下文长度与量化策略。
Moonshot 官方部署指南当前给出了 vLLM/SGLang 的 TP8 参考命令(例如单机 H200 示例),并建议结合各引擎官方文档做最新调优。
常见问题
如何访问 HuggingFace 上的 Kimi K2.5 模型?
访问 huggingface.co/moonshotai/Kimi-K2.5 并接受许可协议。某些版本可能需要认证。
我能在消费级GPU上运行 Kimi K2.5 吗?
取决于具体量化格式和服务栈。建议先基于目标 GGUF/权重变体做吞吐与时延测试,再决定硬件方案。
HuggingFace 版本与API相同吗?
不一定在端到端行为上完全一致。即使同一模型家族,也会受服务栈、解析器/工具调用设置、模式配置等影响。
推荐使用什么框架进行推理?
vLLM 推荐用于生产推理,因其优化的内核和高效批处理。Transformers 最适合微调和实验。
如何微调 Kimi K2.5?
使用 PEFT 配合 LoRA 适配器进行高效微调。全量微调通常需要非常大的算力预算,建议先做小规模试跑并评估显存/吞吐。
我可以商业使用 Kimi K2.5 吗?
在生产或商业落地前,请逐条核对官方 Modified MIT License 的具体条款。