新規モデル · 2026.10.05

Xing4.0をローカルで実行:コーディングモデルの導入とGPU・メモリ選び

コーディング依頼を送る前に、全29Bモデルに必要なGPUとruntimeを選びます。

Xing4.0-29B-A4Bは総29Bのうちtoken1ごとに約4Bが活性化するMoE2エージェントモデルです。開発元は2026-09-17にBF163・FP84・GGUF5を公開したと記載し、Apache-2.0ライセンスとコーディング・tool use向けの経路を用意しています。活性4Bは重みを4B分だけ保存・読み込みすればよいという意味ではありません。公式vLLM例はtensor parallel6 2とcontext 256Kを使いますが、上流runtime7への対応PRは確認中とリポジトリに記載されています。

実行条件と要点
  • 正確なモデルIDは`XingChen-AGI/Xing4.0-29B-A4B`、ライセンスはApache-2.0です。
  • 総パラメータ29Bと活性パラメータ4Bは、メモリ計画では異なる情報です。
  • 公式vLLM設定例はTP=2、context 256K、最大4 sequenceです。
  • SWE-bench・Terminal-Benchのスコアはagent課題の評価であり、tok/s実測ではありません。

29Bモデルはtokenごとに約4Bのexpertを使います

Xing4.0-29B-A4Bはコードを読み、修正案を作り、tool call8を続けるために設計されたopen-weightエージェントモデルです。全体は約29Bパラメータで、MoE構造がtoken計算時に活性化するのは約4Bです。エージェントframeworkからコードやエラーログを渡すと、モデルが次の行動やコード応答を生成し、別のrunnerがtool callを実行します。開発元の公式モデルカード

ここでは一つの作業を通して見ます。repositoryの3ファイルを調べ、bugを確認するtestを実行し、変更点を説明します。モデルはtool callingとcontext 256Kに対応すると紹介されていますが、実際の作業にはコードrunner、repository権限、対応runtimeも必要です。benchmarkスコアだけでは、ファイル編集・test・変更取り消しを確実に実行できるとは判断できません。

水彩画風のコーディングデスクにコードエディター、ターミナル、ノートが開かれています。
エージェントはコードと実行結果を読み、次の作業を提案します。

活性4BからVRAMを計算しないでください

活性パラメータはtoken計算で選ばれるexpertの規模を示します。他のexpertをメモリから取り除くものではありません。全重みをBF16として単純計算すると29B×2 bytes≒58GBです。これは重みデータのおおよその量であり、実際のcheckpoint9容量や実行メモリを測定した値ではありません。KV cache10、runtime、作業用の余裕も必要です。

メモリ検討は精度と配布ファイルから始めます。公式repositoryには2026年9月17日にBF16、FP8、GGUFを公開したと記録されています。形式ごとにファイル容量は異なりますが、GGUFがあるだけで特定GPU11に収まるとは判断できません。選んだruntimeがarchitectureと量子化12ファイルの両方に対応しているか確認します。公式公開記録

メモリを計画するとき全重みとtokenごとの計算量を分けます。
数値意味機材検討での使い方
総29Bcheckpoint全体のexpert・重み規模ファイル・メモリ条件を確認
活性約4Btoken計算で選ばれるexpert規模tokenごとの計算量の理解に使う
BF16単純計算で約58GB29B×2 bytesで計算した重みデータ推定実行最低メモリとして扱わない

メモリを計画するとき全重みとtokenごとの計算量を分けます。

総29B

意味
checkpoint全体のexpert・重み規模
機材検討での使い方
ファイル・メモリ条件を確認

活性約4B

意味
token計算で選ばれるexpert規模
機材検討での使い方
tokenごとの計算量の理解に使う

BF16単純計算で約58GB

意味
29B×2 bytesで計算した重みデータ推定
機材検討での使い方
実行最低メモリとして扱わない
水彩画風の場面で、開いたデスクトップケースに大型GPUが見え、隣のノートPCに実行設定が表示されています。
活性計算4Bと総重み29Bを分けて計画します。

コーディングエージェントのスコアにはtoolと実行条件が含まれます

モデルカードはSWE-bench Verifiedで75.0を報告しています。開発元は`SWE-agent`、temperature 1.0、top_p 0.95、repetition penalty 1.05、context 210Kで評価したと記載しています。このスコアはrepository課題を解くagent評価であり、単一のコード補完応答やローカルtok/sとは異なる指標です。Xing4.0公式評価説明

Terminal-Bench 2.1のスコアは57.5です。カードによると`terminus-2`、temperature 0.8、top_p 0.95、repetition penalty 1.05、最大64K output token、課題ごとに24時間制限で3回実行した平均です。agent toolと長いtimeoutを含む評価であり、モデルが1行を書く速度を示すものではありません。自分のrepositoryでは編集の成功、test結果、許可したtool範囲を別に記録します。

公式スコアは異なるコーディングagent評価の結果です。
評価公開スコア主な条件
SWE-bench Verified75.0SWE-agent、context 210K、temp 1.0。その他は公式カード参照
Terminal-Bench 2.157.5terminus-2、最大64K出力、課題ごと24時間、3回平均

公式スコアは異なるコーディングagent評価の結果です。

SWE-bench Verified

公開スコア
75.0
主な条件
SWE-agent、context 210K、temp 1.0。その他は公式カード参照

Terminal-Bench 2.1

公開スコア
57.5
主な条件
terminus-2、最大64K出力、課題ごと24時間、3回平均

runtime対応はmerge前の経路を確認します

開発元repositoryはTransformersとvLLM・SGLang・KTransformersの設定を案内しています。同時に、2026-10-05確認時点でvLLM、SGLang、llama.cppなどへの上流対応pull requestはまだmerge前と記載しています。標準の最新版packageにXing対応が含まれていると仮定せず、公式repositoryが案内するPR branchまたは事前build済みcontainerを使います。公式実行経路とPR状況

コード実行権限はモデルとは分けて設定します。まず読み取り専用で始め、次にtest実行を追加し、diffを確認できる段階でファイル編集を許可します。agent frameworkがrepositoryとterminalを接続しても、モデル出力だけでcommandが自動実行されるか、途中に承認があるかを先に確認します。agentスコアは手元のtool権限の安全性や実repositoryでの修正成功を測るものではありません。

公式Transformers環境を準備する
python -m venv .venv
source .venv/bin/activate
pip install -U torch transformers accelerate huggingface_hub
hf download XingChen-AGI/Xing4.0-29B-A4B
repository記載のTransformers経路を準備するcommandです。モデル読み込みには次のPython例を使います。installが完了しても29B BF16モデルが収まるとは限らないため、checkpointファイルと空きメモリを先に確認してください。

公式Transformers例で短いコード質問を送ります

公式repositoryのTransformers例では`trust_remote_code=True`を指定してモデルを読み込みます。repository提供のモデルコードを使うため、公式モデルファイルを確認してから実行します。以下の例は質問を固定し、最大1,024 tokenを生成して読み込みと応答形式を短く確認します。実際のrepository作業では必要な説明やコード変更に合わせて出力上限を調整します。Xing公式Transformers quickstart

正常に実行されると、Python errorの短い説明がterminalに表示されます。未対応architectureのerrorではTransformersの対応状況を確認します。メモリ不足では、BF16重みだけの単純計算で約58GBになることに加え、contextとruntimeのメモリも考慮します。`max_new_tokens`を減らすと生成長は短くなりますが、重み読み込み時に発生したメモリ不足は解消しない場合があります。公式architectureと推論例

モデルを読み込み出力長を制限して確認
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "XingChen-AGI/Xing4.0-29B-A4B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id, trust_remote_code=True, device_map="auto", dtype=torch.bfloat16
)

messages = [{"role": "user", "content": "Explain this Python error and suggest a minimal fix: KeyError: 'id'"}]
prompt = tokenizer.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.inference_mode():
    output = model.generate(
        **inputs, do_sample=True, top_p=0.95, temperature=0.8,
        repetition_penalty=1.05, max_new_tokens=1024
    )
print(tokenizer.decode(
    output[0][inputs.input_ids.shape[-1]:],
    skip_special_tokens=False, spaces_between_special_tokens=False
))
対応hardwareとTransformers環境が必要です。正常に動作すると生成文がterminalに表示されます。architecture非対応のerrorが出た場合は、インストールしたTransformersがXingに対応するか、checkpoint pathとdtypeが合っているか確認します。

vLLMレシピはGPU 2枚と同時request数の制限を使います

開発元のvLLM例は`--tensor-parallel-size 2`、`--gpu-memory-utilization 0.90`、`--max-model-len 262144`、`--max-num-seqs 4`を指定します。これは2枚のGPUへ分割するserving経路で、最大4 sequenceを設定します。すべてのpromptに256Kを使うという意味ではなく、contextが長いほどKV cacheも増えます。使うprompt長と同時利用数を決め、その構成がメモリに収まるか確認します。公式vLLM commandと基本設定

開発元のKTransformers例はCPU13とGPUを併用するheterogeneous経路です。GPUに配置するexpert数とCPU推論threadも設定します。そのため「GPU 1枚で実行可能」とは、全重みがGPUメモリに収まるという意味ではなく、選んだruntimeが一部処理をCPUへ割り当てる場合があります。公式資料に正確な最低RAM14や推論速度はないため、実行環境で個別に測定します。

serverが起動すると、vLLM API15は`http://localhost:8000/v1`で応答します。起動時にarchitectureやparserのerrorが出たら、一般的なvLLM buildではなく、開発元のprebuilt imageまたはrepositoryが案内するPR branchを使っているか確認します。メモリ不足ではまずcontextと同時sequence数を減らし、GPU 2枚が認識されているか確認します。調整後の速度は直接試すまでは未測定です。公式vLLM設定と対応経路

公式serving経路の実行前提を比較します。
経路公開設定追加確認事項
Transformersdevice_map=auto、BF16例実際のメモリ配置と対応ハードウェア
vLLMTP=2、最大context 256K、最大4 sequenceupstream PR未merge、公式PR branch/imageを使用
KTransformersCPU/GPU併用の設定例システムRAMと処理時間は未公開

公式serving経路の実行前提を比較します。

Transformers

公開設定
device_map=auto、BF16例
追加確認事項
実際のメモリ配置と対応ハードウェア

vLLM

公開設定
TP=2、最大context 256K、最大4 sequence
追加確認事項
upstream PR未merge、公式PR branch/imageを使用

KTransformers

公開設定
CPU/GPU併用の設定例
追加確認事項
システムRAMと処理時間は未公開
ノートパソコンと確認ノートが置かれたコードレビューの机
モデルの応答後に、人が差分とテストを確認します。

小さなrepository作業で適性を判断します

Pythonの`KeyError: 'id'`への説明が出たら、次は小さなrepository bugを読み取り専用で調べます。再現commandと関連ファイルを渡し、実行するtestを提案するよう依頼します。agentにファイルを変更させる前に、回答のpath・原因・検証手順が合っているか確認します。その後、限定したdirectoryだけ編集を許可し、人がdiffとtest結果を読みます。

機材を選ぶときはcheckpoint保存領域、重みと入力を載せるメモリ、普段使うapp用の余裕を合わせて考えます。公式TP=2経路にはGPU 2枚とruntime環境が必要です。KTransformersのCPU/GPU併用構成はGPUメモリが足りない場合に他のメモリ資源を使いますが、完了時間は変わる可能性があります。このモデルが必須の作業でなければ、同じrepository issueをより小さなcoding modelでも試してから機材費を判断します。

用語の注釈

  1. トークン — モデルが入力や出力を分けて処理する単位です。

    本文に戻る
  2. MoE — 複数の専門家サブネットワークから入力に応じて一部を選ぶモデル構造です。総パラメータ数と1トークン処理時に有効な数は異なることがあります。

    本文に戻る
  3. BF16 — モデルの数値を保存・計算する16ビット浮動小数点形式です。利用可否はハードウェアと実行環境によります。

    本文に戻る
  4. FP8 — 8ビット浮動小数点形式の総称です。具体的な形式や対応範囲はハードウェアとソフトウェアによって異なります。

    本文に戻る
  5. GGUF — モデル情報を格納するファイル形式で、llama.cpp系のツールで広く使われます。

    本文に戻る
  6. テンソル並列 — モデルの層内の演算と重みを複数の装置に分割する方式です。装置間の通信も必要なため、高速化の度合いは接続と実装に左右されます。

    本文に戻る
  7. ランタイム — プログラムの実行時に必要な機能を提供するソフトウェア環境です。ローカルAIではモデル実行エンジンを指すこともあります。

    本文に戻る
  8. ツール呼び出し — ファイル読み取り、検索、コマンド実行などの外部機能を、名前と引数でモデルが要求する形式です。実行の有無はエージェントランタイムと権限設定が決めます。

    本文に戻る
  9. チェックポイント — 学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。

    本文に戻る
  10. KVキャッシュ — 過去トークンのAttention用キー・バリューを保存し、後続トークン生成で再利用するメモリです。容量はコンテキスト長やバッチサイズで変わります。

    本文に戻る
  11. GPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。

    本文に戻る
  12. 量子化 — モデルの数値を少ないビット数で表す方法です。メモリ使用量のほか、精度や実行速度も変わることがあり、影響は形式と実装によります。

    本文に戻る
  13. CPU — コンピューターで汎用のプログラム命令を実行する中央処理装置です。AI処理ではGPUなど他のプロセッサーと役割を分けることがあります。

    本文に戻る
  14. システムRAM — プログラムの実行中にデータを一時保存するシステムメモリです。

    本文に戻る
  15. API — 別のコードからプログラムの機能を呼び出すための決められたインターフェースです。

    本文に戻る