Repository navigation
XeStrata xe0.1.43
Warning
This is an old release. Get the latest from the latest release.
古いリリースです。最新版は最新のリリースから入れてください。
English
Preliminary: the speed comparison with upstream follows.
Install
- Pick the package for your GPU from the table below and download it (with
SHA256SUMS). - Check it:
sha256sum -c SHA256SUMS --ignore-missing. - Install it:
sudo apt install ./xestrata-contrib-cuda13.1_0.1.43-1_amd64.deb(Ubuntu) orsudo dnf install ./xestrata-contrib-cuda13.4-0.1.43-1.x86_64.rpm(Fedora). - Run
xestrata --setupin a terminal. If a GPU library or the render group is missing, it prints the command that installs it and stops; run that command, thenxestrata --setupagain.
Note
Without an NVIDIA GPU, either CUDA version works the same.
| GPU | Ubuntu 26.04 | Fedora 44 |
|---|---|---|
| Recommended: Intel, AMD (RDNA2 or later), NVIDIA (Turing or later) | xestrata-contrib-cuda13.1 |
xestrata-contrib-cuda13.4 |
| Intel, AMD (RDNA2 or later), NVIDIA Pascal and Volta (P100, P40, GTX 10 series, V100 and others) | xestrata-contrib-cuda12.4 |
none |
- There is no free-software-only package (
xestrata-free) in this release; build it from the source as docs/BUILD.md describes. - The version changed, so conversations saved with
--conversation-saveby an earlier version are not read.
New
- Two more models (BETA): Ornith-1.5-35B-A3B (Q4_K_M to BF16, and the GSQ-RCO 3 and 3.5 bits) and llm-jp-4.1-32b-a3b-thinking (Q4_K_M, BF16), both in
xestrata --setup's first question. The API works with the thinking kept apart, streaming and tool calls; Ornith's official files draft tokens with the model's MTP layer. Not yet: images, the processor's own graphics, more than one GPU. - More than one GPU: the automatic layer split also chooses which GPU takes which stage, from measured costs and each card's link;
--batch-mtpand--pipeline-windowswork across a layer split of three or more GPUs; independent engines on groups of cards behind one server (data-parallel replicas, opt-in). See docs/MULTIGPU.md. - A window whose logits are NaN or infinite: the request ends instead of writing garbage, and the state it would reuse is dropped (
STRATA_NAN_GUARD=0turns it off). xestrata --setup --bench-original-compat: upstream's benchmark mode, measured as upstream measures, to compare with upstream users' reports.
Faster
- Prefill on Intel GPUs: the host copy of the KV cache written 4 bytes at a time, the expert copies on the GPU's copy engine. B70, IQ3_XXS at 64K: 1,974 → 2,399 tok/s.
- Prefill of short prompts: the experts' int8 products use 32-row tiles when the experts average 32 rows or fewer (most of a 64-row tile was empty). B70, IQ3_XXS at 1K: 680 → 803 tok/s.
- Prefill of the larger files: an expert's two weight matrices dequantized in one launch. B70, UD-Q4_K_XL at 32K: +9%.
- Decode on the RX 9060 XT: the split of the missed experts between the CPU and PCIe is refined from the decode's own times. IQ3_XXS, 1K to 262K: 25-45% faster than xe0.1.42.
- Follow-ups in a conversation: the checkpoint at the start of the answer is written into RAM after the reply. RTX 4070: 288 → 222 ms at 1K, 317 → 253 ms at 64K.
Fixed
- A PC with less RAM than the experts (#10, #11): when the free RAM cannot hold all the experts and 8 GiB more, the engine starts with only the experts the GPU does not hold in RAM (as with
--resident-experts) instead of loading them all (the PC swapped or stopped), and page-locks its RAM copy only when the free RAM allows (a 31 GB PC with a B70 faulted while copying). - An engine that stops (#10, #12): it says what it was doing and why (the exception, or the signal it died of), the web app shows it, and the server writes the exit code or the signal.
- The web app's GPU readings agree across Intel, NVIDIA and AMD (Intel's temperature is the GPU's own, a layer split shows every card).
日本語
先行報: upstream との速さの比較は後で足す
インストール
- 下の表から GPU に合うパッケージを選び、
SHA256SUMSと一緒にダウンロードする。 - 確かめる:
sha256sum -c SHA256SUMS --ignore-missing - 入れる:
sudo apt install ./xestrata-contrib-cuda13.1_0.1.43-1_amd64.deb(Ubuntu)またはsudo dnf install ./xestrata-contrib-cuda13.4-0.1.43-1.x86_64.rpm(Fedora) - 端末で
xestrata --setupを実行する。GPU のライブラリや render グループが足りなければ、入れるコマンドを表示して止まるので、そのコマンドを実行してから、もう一度xestrata --setupを実行する。
Note
NVIDIA の GPU がなければ、どちらの CUDA の版でも同じように動きます。
| GPU | Ubuntu 26.04 | Fedora 44 |
|---|---|---|
| おすすめ: Intel、AMD(RDNA2 以降)、NVIDIA(Turing 以降) | xestrata-contrib-cuda13.1 |
xestrata-contrib-cuda13.4 |
| Intel、AMD(RDNA2 以降)、NVIDIA の Pascal と Volta(P100、P40、GTX 10 シリーズ、V100 など) | xestrata-contrib-cuda12.4 |
なし |
- このリリースには自由ソフトウェアだけのパッケージ(
xestrata-free)はありません。docs/BUILD.ja.md のとおりソースから作れます。 - 版が変わったので、前の版の
--conversation-saveで保存した会話は読みません。
新しい機能
- モデルが 2 つ増えました(BETA): Ornith-1.5-35B-A3B(Q4_K_M〜BF16 と、GSQ-RCO の 3・3.5 ビット)と llm-jp-4.1-32b-a3b-thinking(Q4_K_M、BF16)を、
xestrata --setupの最初の質問で選べます。API は考えと答えを分け、ストリーミングとツールの呼び出しも使えます。Ornith の公式のファイルは、モデルの MTP の層で先のトークンを下書きします。まだ使えないもの: 画像、CPU 内蔵の GPU、2 枚以上の GPU。 - 2 枚以上の GPU: 層の自動の分割が、測った費用とカードごとのリンクから、どの GPU にどの段を受け持たせるかも選びます。
--batch-mtpと--pipeline-windowsが 3 枚以上の層の分割でも動きます。カードの組ごとの独立したエンジンを 1 つのサーバーの後ろに置けます(データ並列のレプリカ、opt-in)。docs/MULTIGPU.ja.md - logits が NaN か無限大になった窓: 壊れた出力を書かずにその要求を終え、使い回す状態を捨てます(
STRATA_NAN_GUARD=0で切れます)。 xestrata --setup --bench-original-compat: upstream のベンチマークのモードを upstream と同じ測り方で動かし、upstream の利用者の報告と比べられます。
速くなったこと
- Intel の GPU の prefill: KV キャッシュのホストの写しを 4 バイトずつ書き、エキスパートのコピーを GPU のコピー専用のエンジンで流します。B70、IQ3_XXS の 64K: 1,974 → 2,399 tok/s。
- 短いプロンプトの prefill: エキスパートの int8 の積で、1 エキスパートあたりの行が平均 32 行以下なら 32 行のタイルにします(64 行のタイルの大半が空でした)。B70、IQ3_XXS の 1K: 680 → 803 tok/s。
- 大きなファイルの prefill: 1 つのエキスパートの 2 つの重みを 1 回の起動で逆量子化します。B70、UD-Q4_K_XL の 32K: +9%。
- RX 9060 XT の decode: VRAM にないエキスパートの CPU と PCIe への分け方を、decode の実測で詰め直します。IQ3_XXS の 1K〜262K で xe0.1.42 より 25〜45% 速い。
- 会話の続き: 答えの始まりのチェックポイントを、返答の後で RAM に書きます。RTX 4070: 1K で 288 → 222 ms、64K で 317 → 253 ms。
直したこと
- RAM がエキスパートより少ない PC(#10、#11): RAM の空きがエキスパート全部と 8 GiB に足りなければ、全部は読み込まず、GPU にないエキスパートだけを RAM に置いて起動します(
--resident-expertsと同じ形。全部を読むと PC がスワップしたり止まったりしていました)。RAM の写しのページ固定は、RAM の空きが足りるときだけにしました(RAM 31 GB と B70 の PC で、コピー中にフォルトが起きていました)。 - エンジンが止まったとき(#10、#12): 何をしていて、なぜ止まったか(例外か、落ちたシグナル)を書き、Web アプリに出します。サーバーは終了コードかシグナルの名前を書きます。
- Web アプリの GPU の表示: Intel・NVIDIA・AMD でそろえました(Intel の温度は GPU 自身のもの、層の分割ではすべてのカードを表示)。