# Kimi-K2.6
## 论文
[Kimi-K2.6](https://www.kimi.com/blog/kimi-k2-6)

## 模型简介
Kimi K2.6 是一个开源的原生多模态智能体模型，在长周期编程、以编程驱动的设计、主动自主执行以及基于智能体集群的任务编排等实际能力方面取得了显著进展。

**主要特点**：
- 长周期编程：K2.6 在复杂的端到端编程任务上实现了显著提升，能够稳健地泛化至多种编程语言（Rust、Go、Python）以及前端、DevOps 和性能优化等多个领域。
- 编程驱动设计：K2.6 能够将简单的文本提示和视觉输入转化为可直接投入生产的界面和轻量级全栈工作流，精准生成结构化布局、交互元素和丰富的动画效果。
- 增强型智能体集群：支持横向扩展至 300 个子智能体并行执行 4,000 个协调步骤，K2.6 能动态地将任务分解为多个并行、领域专用的子任务，在单次自主运行中即可完成从文档、网站到电子表格的端到端输出。
- 主动式开放编排：在自主任务方面，K2.6 展现出强大能力，可驱动持久运行的 24/7 后台智能体，无需人工干预即可主动管理日程、执行代码，并协调跨平台操作。

<div align=center>
    <img src="./doc/kimi-bar-chart.png"/>
</div>

## 环境依赖
| 软件 |                    版本                     |
| :------: |:-----------------------------------------:|
| DTK |                   26.04                   |
| python |                  3.10.12                  |
| Transformers |                4.57.6                 |
| vLLM |       0.15.1+das.opt1.alpha.dtk2604.20260220.g2799735a       |
| triton | 3.3.0+das.opt2.dtk2604.torch291.20260210.g1329924c |
| torch | 2.9.0+das.opt1.dtk2604.20260206.g275d08c2 |

当前仅支持以下镜像: harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220

- 挂载地址`-v` 根据实际模型情况修改
```bash
docker run -it \
    --shm-size 200g \
    --network=host \
    --name Kimi-K2.6 \
    --privileged \
    --device=/dev/kfd \
    --device=/dev/dri \
    --device=/dev/mkfd \
    --group-add video \
    --cap-add=SYS_PTRACE \
    --security-opt seccomp=unconfined \
    -u root \
    -v /opt/hyhal/:/opt/hyhal/:ro \
    -v /path/your_code_data/:/path/your_code_data/ \
    harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220 bash
```
更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用。

关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装，pycountry库需要单独安装：
```
pip install pycountry
```

## 数据集
暂无

## 训练
暂无

## 推理
### vLLM
#### 单机推理
1.启动vllm server
```bash
## serve启动

vllm serve moonshotai/Kimi-K2.6 \
    -tp 16 \
    --distributed-executor-backend ray \
    --gpu-memory-utilization 0.95 \
    --mm-encoder-tp-mode data \
    --trust-remote-code \
    --tool-call-parser kimi_k2 \
    --reasoning-parser kimi_k2

## client访问
curl http://localhost:8000/v1/chat/completions   \
    -H "Content-Type: application/json"  \
    -d '{
        "model": "moonshotai/Kimi-K2.6",
        "messages": [
          {"role": "user", "content": "which one is bigger, 9.11 or 9.9? think carefully"}
        ],
        "temperature": 0.6
    }'
```

#### 多机推理
1. 加入环境变量
> 请注意：
> 每个节点上的环境变量都写到.sh文件中，保存后各个计算节点分别source`.sh`文件
>
> VLLM_HOST_IP：节点本地通信口ip，尽量选择IB网卡的IP，**避免出现rccl超时问题**
>
> NCCL_SOCKET_IFNAME和 GLOO_SOCKET_IFNAME：节点本地通信网口ip对应的名称
>
> 通信口和ip查询方法：ifconfig
>
> IB口状态查询：ibstat  !!!一定要active激活状态才可用，各个节点要保持统一

```bash
export ALLREDUCE_STREAM_WITH_COMPUTE=1
export VLLM_HOST_IP=x.x.x.x # 对应计算节点的IP，选择IB口SOCKET_IFNAME对应IP地址
export NCCL_SOCKET_IFNAME=ibxxxx
export GLOO_SOCKET_IFNAME=ibxxxx
export NCCL_IB_HCA=mlx5_0:1 # 环境中的IB网卡名字
unset NCCL_ALGO
export NCCL_MIN_NCHANNELS=16
export NCCL_MAX_NCHANNELS=16
export NCCL_NET_GDR_READ=1
export HIP_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export VLLM_SPEC_DECODE_EAGER=1
export VLLM_MLA_DISABLE=0
export VLLM_USE_FLASH_MLA=1
export VLLM_RPC_TIMEOUT=1800000

# 海光CPU绑定核
export VLLM_NUMA_BIND=1
export VLLM_RANK0_NUMA=0
export VLLM_RANK1_NUMA=1
export VLLM_RANK2_NUMA=2
export VLLM_RANK3_NUMA=3
export VLLM_RANK4_NUMA=4
export VLLM_RANK5_NUMA=5
export VLLM_RANK6_NUMA=6
export VLLM_RANK7_NUMA=7
```

2. 启动RAY集群
> x.x.x.x 对应第一步 VLLM_HOST_IP

```bash
# head节点执行
ray start --head --node-ip-address=x.x.x.x --port=6379 --num-gpus=8 --num-cpus=32
# worker节点执行
ray start --address='x.x.x.x:6379' --num-gpus=8 --num-cpus=32
```

3. 启动vllm server

```bash
## serve启动

vllm serve moonshotai/Kimi-K2.6 \
    -tp 16 \
    --distributed-executor-backend ray \
    --gpu-memory-utilization 0.95 \
    --mm-encoder-tp-mode data \
    --trust-remote-code \
    --tool-call-parser kimi_k2 \
    --reasoning-parser kimi_k2

## client访问
curl http://localhost:8000/v1/chat/completions   \
    -H "Content-Type: application/json"  \
    -d '{
        "model": "moonshotai/Kimi-K2.6",
        "messages": [
          {"role": "user", "content": "which one is bigger, 9.11 or 9.9? think carefully"}
        ],
        "temperature": 0.6
    }'
```

## 效果展示
<div align=center>
    <img src="./doc/result-dcu.png"/>
</div>

### 精度
DCU与GPU精度一致，推理框架：vllm。

## 预训练权重
|  模型名称  | 权重大小 | DCU型号  | 最低卡数需求 |         下载地址          |
|:------:|:----:|:----------:|:------:|:---------------------:|
| Kimi-K2.6 | 1.1T | BW1000 |   16   | [Hugging Face](https://huggingface.co/moonshotai/Kimi-K2.6) |

## 源码仓库及问题反馈
- https://developer.sourcefind.cn/codes/modelzoo/kimi-k2.6

## 参考资料
- https://www.modelscope.cn/models/moonshotai/Kimi-K2.6/summary
