🚀 NextCoder-7B GGUFモデル
NextCoder-7B GGUFモデルは、コード生成やチャットなどのタスクに特化したモデルです。このモデルは、Qwen/Qwen2.5-Coder-7B-Instructをベースに生成されており、多様なコード編集タスクに対応しています。
🚀 クイックスタート
モデルの読み込みとコンテンツ生成の例
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/NextCoder-7B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = """
Fix the following function that divides two numbers to handle all the edge cases:
def divide(a, b)
returm a/b
"""
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=1024
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
✨ 主な機能
- コード編集性能の向上:NextCoder-32Bは、複雑なベンチマークでGPT-4oと同等の性能を発揮し、ベースモデルから44%の性能向上を達成しています。
- 汎化能力の維持:新しい微調整方法であるSeleKTを使用することで、汎化能力を損なうことなく性能を向上させています。
- 長文コンテキストのサポート:最大32Kトークンの長文コンテキストをサポートしています。
📦 インストール
コードは最新のHugging face transformers
に対応しており、最新バージョンのtransformers
を使用することを推奨します。transformers<4.37.0
を使用すると、以下のエラーが発生する場合があります。
KeyError: 'qwen2'
📚 ドキュメント
モデル生成の詳細
このモデルは、llama.cppを使用して、コミット5dd942de
で生成されました。
量子化のアプローチ
標準のIMatrix量子化は、低ビット深度では特にMixture of Experts (MoE)モデルで性能が低下することがあります。この問題を解決するために、llama.cpp
の--tensor-type
オプションを使用して、重要なレイヤーの精度を手動で上げています。実装はこちらで確認できます。
👉 Layer bumping with llama.cpp
この方法はモデルファイルのサイズを増やしますが、量子化レベルに対する精度を大幅に向上させます。
モデル選択のガイド
こちらをクリックすると、適切なGGUFモデル形式の選択に関する情報が得られます。
評価と性能
モデル |
HUMANEVALFIX |
CANITEDIT |
AIDER |
POLYGLOT |
QwenCoder-2.5-3B |
73.2 |
37.1 |
36.8 |
- |
QwenCoder-2.5-3B-LoRA |
64.6 |
36.2 |
35.8 |
- |
QwenCoder-2.5-3B-SFT |
76.2 |
32.4 |
30.1 |
- |
NextCoder-3B |
75.6 |
42.4 |
37.6 |
- |
QwenCoder-2.5-7B |
73.8 |
48.1 |
59.4 |
- |
QwenCoder-2.5-7B-LoRA |
70.7 |
44.3 |
40.6 |
- |
QwenCoder-2.5-7B-SFT |
70.1 |
36.7 |
48.9 |
- |
NextCoder-7B |
81.1 |
50.5 |
65.7 |
- |
QwenCoder-2.5-14B |
87.8 |
58.1 |
66.9 |
9.3 |
QwenCoder-2.5-14B-LoRA |
78.0 |
50.9 |
66.2 |
5.3 |
QwenCoder-2.5-14B-SFT |
79.9 |
42.4 |
36.8 |
3.1 |
NextCoder-14B |
89.8 |
60.2 |
72.2 |
12.2 |
QwenCoder-2.5-32B |
90.2 |
61.0 |
72.9 |
16.4 |
QwenCoder-2.5-32B-LoRA |
82.3 |
52.4 |
60.2 |
6.7 |
QwenCoder-2.5-32B-SFT |
81.7 |
49.5 |
66.9 |
8.4 |
NextCoder-32B |
88.9 |
62.4 |
74.7 |
23.6 |
異なるサイズのQwenCoder-2.5ベースモデルとそのSELEKT強化バージョンの3つのコード編集ベンチマークでの比較
詳細な評価結果は、この📑 論文で報告されています。
責任あるAIの使用
ベースモデル(QwenCoder-2.5ファミリー)は悪意のあるプロンプトに影響を受けやすく、有害なコードを生成または実行する可能性があります。微調整はこのような動作を強化または阻害するものではありません。ユーザーはモデルとその出力を責任を持って慎重に使用する必要があります。モデルの出力は、実行前に手動検査やサンドボックス化などの追加分析を行うべきです。
🔧 技術詳細
モデル情報
属性 |
详情 |
モデルタイプ |
因果言語モデル |
訓練データ |
microsoft/NextCoderDataset、microsoft/NextCoderDataset-Conversational、bigcode/commitpackft、bigcode/starcoderdata |
訓練段階 |
SeleKTによる事後訓練 |
アーキテクチャ |
RoPE、SwiGLU、RMSNorm、およびAttention QKVバイアスを持つtransformers |
パラメータ数 |
76.1億 |
パラメータ数 (非埋め込み) |
65.3億 |
レイヤー数 |
28 |
アテンションヘッド数 (GQA) |
Qに28、KVに4 |
引用
@inproceedings{aggarwal2025nextcoder,
author = {Aggarwal, Tushar and Singh, Swayam and Awasthi, Abhijeet and Kanade, Aditya and Natarajan, Nagarajan},
title = {NextCoder: Robust Adaptation of Code LMs to Diverse Code Edits},
booktitle = {International Conference on Machine Learning},
year = {2025},
url = {https://www.microsoft.com/en-us/research/publication/nextcoder-robust-adaptation-of-code-lms-to-diverse-code-edits/},
}
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
🚀 モデルが役立つ場合
私のAI搭載の量子ネットワークモニターアシスタントを、量子対応のセキュリティチェックでテストしてください。
👉 量子ネットワークモニター
量子ネットワークモニターサービスの完全なオープンソースコードは、私のGitHubリポジトリ(NetworkMonitorを名前に含むリポジトリ)で入手できます。量子ネットワークモニターのソースコード また、自分でモデルを量子化したい場合は、私が使用しているコードもGGUFModelBuilderで見つけることができます。
テスト方法
AIアシスタントのタイプを選択します。
TurboLLM
(GPT-4.1-mini)
HugLLM
(Hugginfaceのオープンソースモデル)
TestLLM
(実験的なCPU専用モデル)
テスト内容
私は、AIネットワークモニタリング用の小さなオープンソースモデルの限界を追求しています。具体的には以下の点をテストしています。
- ライブネットワークサービスに対する関数呼び出し
- 以下のタスクを処理しながら、モデルをどれだけ小さくできるか
- 自動化されたNmapセキュリティスキャン
- 量子対応チェック
- ネットワークモニタリングタスク
各アシスタントの特徴
🟡 TestLLM(現在の実験的モデル、huggingfaceのDocker環境でllama.cppを2つのCPUスレッドで実行)
- ✅ ゼロコンフィギュレーション設定
- ⏳ 30秒のロード時間(推論は遅いがAPIコストがかからない)。コストが低いためトークン制限がありません。
- 🔧 協力者募集中! エッジデバイスAIに興味がある方は、一緒に協力しましょう!
🟢 TurboLLM(gpt-4.1-miniを使用)
- 性能は非常に良好ですが、残念ながらOpenAIはトークンごとに料金を請求します。そのため、トークンの使用量に制限があります。
- カスタムコマンドプロセッサを作成して、量子ネットワークモニターエージェントで.NETコードを実行する
- リアルタイムのネットワーク診断とモニタリング
- セキュリティ監査
- 侵入テスト (Nmap/Metasploit)
🔵 HugLLM(最新のオープンソースモデル)
- 🌐 Hugging Face Inference API上で実行されます。Novitaにホストされている最新のモデルを使用して、かなり良好な性能を発揮します。
テストできるコマンドの例
"ウェブサイトのSSL証明書に関する情報を提供してください"
"サーバーが通信に量子安全な暗号化を使用しているか確認してください"
"サーバーの包括的なセキュリティ監査を実行してください"
- `"cmdプロセッサを作成して... (任意の内容)" 注: .NETコードを実行するには、量子ネットワークモニターエージェントをインストールする必要があります。これは非常に柔軟で強力な機能です。注意して使用してください!
最後に
私はこれらのモデルファイルを作成するためのサーバー、量子ネットワークモニターサービスを実行するためのサーバー、およびNovitaとOpenAIからの推論料金をすべて自費で負担しています。モデル作成と量子ネットワークモニタープロジェクトの背後にあるすべてのコードはオープンソースです。役に立つものがあれば自由に使用してください。
もしこの仕事が気に入っていただけたら、私にコーヒーを買ってくれることをご検討ください。☕ 皆さんの支援により、サービスコストを賄い、トークン制限を緩和することができます。
また、仕事の機会やスポンサーシップも歓迎しています。
ありがとうございます!😊