尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

KwaiCoder-23B-A4B-v1 代码补全模型快速上手指南:20+语言,一个模型搞定补全与中间填空

KwaiCoder-23B-A4B-v1 代码补全模型快速上手指南:20+语言,一个模型搞定补全与中间填空 KwaiCoder-23B-A4B-v1 代码补全模型快速上手指南20语言一个模型搞定补全与中间填空【免费下载链接】KwaiCoder-23B-A4B-v1项目地址: https://ai.gitcode.com/hf_mirrors/Kwaipilot/KwaiCoder-23B-A4B-v1KwaiCoder-23B-A4B-v1 是快手 Kwaipilot 团队开源的代码补全模型。23B MoE 架构、每个 token 只激活 4B 参数支持 Python、Java、C 等 20 余种编程语言还额外支持代码中间段填充FIM。如果你想在自己的机器或私有环境里跑一个补全质量不错的代码模型它可以直接部署。它解决的两个场景日常写代码最高频的两件事在函数末尾续写下一段代码代码前后已有上下文想补全中间缺失的一段前者是常见的尾部补全后者是中间填空Fill-in-the-MiddleFIM。多数开源代码模型只做得了前者而 KwaiCoder-23B-A4B-v1 两个都支持用法只差一个模板下文会拆开讲。⚡ 如何 5 行代码跑起来下面是最短可运行示例用bfloat16精度加载模型把一行注释# write a quick sort algorithm作为 prompt模型会从注释后继续写出快速排序算法。输出是纯代码prompt 本身已被截掉。from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_id Kwaipilot/KwaiCoder-23B-A4B-v1 tokenizer AutoTokenizer.from_pretrained(model_id, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( model_id, device_mapauto, torch_dtypetorch.bfloat16, trust_remote_codeTrue, ) prompt # write a quick sort algorithm inputs tokenizer(prompt, return_tensorspt).to(model.device) outputs model.generate(**inputs, max_new_tokens80) print(tokenizer.decode(outputs[0], skip_special_tokensTrue)[len(prompt):])两点注意权重总大小约 46.5GBbfloat1610 个分片device_mapauto会自动拆分到多卡本地没有权重时可先克隆模型文件git clone https://gitcode.com/hf_mirrors/Kwaipilot/KwaiCoder-23B-A4B-v1再把model_id换成本地路径传入即可它能干什么补全、中间填充与低成本尾部补全从一行注释到完整函数prompt 可以是代码片段、一行注释或一段 docstring模型会按你正在使用的语言继续往下写。在 HumanEval、MBPP 等代码评测基准上它刷新了多项 SOTA 指标把算法补完整这项能力处于开源模型第一梯队。FIM 中间填充怎么用和尾部补全的区别在于需要给代码包一层模板涉及三个特殊标记fim▁begin整段代码开始fim▁end整段代码结束fim▁hole要填充的位置放在代码中间举官方示例的场景find_longest_substring最长不重复子串的函数签名和循环外壳已写好唯独循环体缺失。把前面的代码 fim▁hole 后面的代码拼进模板再调用generate模型只生成缺失的那一段。重构时上下文都在、只想插入一块逻辑这个模式就很实用。成本为什么只有传统方法的 1/3023B 总参数是 MoE专家混合结构20 层、每层 64 个专家每个 token 只激活其中 8 个具体参数可看仓库里的config.json。推理时实际只动用约 4B 激活参数名字里的 A4B 就来自这里。训练侧Kwaipilot 团队用模型剪枝、知识蒸馏、精细化参数融合三种技术组合把这个 23B MoE 代码模型的训练成本压到传统方法的 1/30。对没有大规模训练预算、又想基于它做二次开发的团队来说门槛低了不少。此外它还支持 Markdown 文档注释、单元测试等辅助生成配合 Git 工作流可以搭出一个开发助手。许可证、部署要点与学术引用许可证MIT。商业和非商业用途都可自由使用、修改、分发保留原作者声明即可具体条款见仓库根目录的 LICENSE 文件。部署要点精度bfloat16权重约 46.5GB10 个 safetensors 分片索引见model.safetensors.index.json最大上下文 4096 token适合单文件级别的补全与插入不适合整仓库长上下文模型内置 FIM 标记tokenizertokenizer.json随仓库一起提供加载时不要跳过学术引用论文中引用该模型时可以使用官方 README 里的 BibTeXmisc{kwaicoder, title {KwaiCoder: Code mathematical abilities comprehensive improvement.}, author {Kwaipilot team}, year {2024}, }团队表示后续版本会继续优化跨语言支持并探索与 IDE 工具链的更深集成。如果你在搭建私有代码助手值得把这个仓库放进观察列表。【免费下载链接】KwaiCoder-23B-A4B-v1项目地址: https://ai.gitcode.com/hf_mirrors/Kwaipilot/KwaiCoder-23B-A4B-v1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表