README.md 3.95 KB
Newer Older
zzg_666's avatar
zzg_666 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# OmniCoder
## 论文
暂无
## 模型简介
OmniCoder-9B是由Tesslate开发的一款拥有90亿参数的代码智能体模型,它在Qwen3.5-9B的混合架构(门控Delta网络与标准注意力机制交错)之上进行了微调。该模型基于超过42.5万条精选的智能体编码轨迹进行了训练,涵盖了现实世界中的软件工程任务、工具使用、终端操作以及多步推理。训练数据专门构建自Claude Opus 4.6的智能体及编码推理轨迹,并针对性地覆盖了Claude Code、OpenCode、Codex和Droid的脚手架模式。数据集包含了来自Claude Opus 4.6、GPT-5.4、GPT-5.3-Codex 和 Gemini 3.1 Pro等模型的成功轨迹。  
该模型展现出强大的智能体行为:它能够从错误中恢复(如“先读后写”模式),响应LSP(语言服务器协议)诊断信息,并使用正确的编辑差异(diff)而非全文重写。这些模式均是直接从其训练所用的现实世界智能体轨迹中学得的。  
主要特性:  
- 基于前沿智能体轨迹训练:构建自Claude Opus 4.6、GPT-5.3-Codex、GPT-5.4 和Gemini 3.1 Pro的智能体编码轨迹,覆盖Claude Code、OpenCode、Codex和Droid脚手架。  
- 混合架构:继承了Qwen3.5的门控Delta网络与标准注意力机制交错的架构,以实现高效的长上下文处理。  
- 262K 原生上下文:拥有完整的262,144令牌上下文窗口,可扩展至100万以上。  
- 错误恢复:习得了“先读后写”模式,能够响应LSP诊断,并应用最小编辑差异而非全文重写。  
- 思考模式:支持推理链,用于复杂问题的拆解。  
- Apache 2.0协议:完全开放的权重,无任何限制。


## 环境依赖
| 软件 | 版本 |
| :------: | :------: |
| DTK | 26.04 |
| python | 3.10.12 |
| torch | 2.9.0+das.opt1.dtk2604.20260126.g22910426 |
| transformers | 5.2.0.dev0 |
| vllm | 0.15.1+das.opt1.alpha.dtk2604 |

当前仅支持定制镜像: image.sourcefind.cn:5000/dcu/admin/base/custom:pytorch2.9.1-ubuntu22.04-dtk26.04-0130-py3.10-20260204-qwen3_5

- 挂载地址`-v`根据实际模型情况修改

```bash
docker run -it \
    --shm-size 200g \
    --network=host \
    --name OmniCoder \
    --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/ \
    image.sourcefind.cn:5000/dcu/admin/base/custom:pytorch2.9.1-ubuntu22.04-dtk26.04-0130-py3.10-20260204-qwen3_5 bash
```

更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用,其它包安装:
```
pip uninstall vllm
pip install vllm-0.15.1+das.opt1.alpha.dtk2604-cp310-cp310-linux_x86_64.whl
pip install transformers==5.2.0
pip install numpy==1.25.0

```

## 数据集
`暂无`

## 训练
`暂无`

## 推理
### vllm
#### 单机推理
```bash
## serve启动
vllm serve Tesslate/OmniCoder-9B --trust-remote-code -tp 1   --port 8010

## client访问
curl -X POST "http://localhost:8010/v1/chat/completions"      -H "Content-Type: application/json"     --data '{
                "model": "Tesslate/OmniCoder-9B",
                "messages": [
                        {
                                "role": "user",
                                "content": "中国的首都是什么"
                        }
                ]
        }'

```

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

### 精度
`DCU与GPU精度一致,推理框架:vllm。`

## 预训练权重
| 模型名称  | 权重大小  | DCU型号  | 最低卡数需求 |下载地址|
|:-----:|:----------:|:----------:|:---------------------:|:----------:|
| OmniCoder-9B| 9B | BW1000 | 1 | [HuggingFace](https://huggingface.co/Tesslate/OmniCoder-9B) |


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

## 参考资料
- https://huggingface.co/Tesslate/OmniCoder-9B