Skip to content

XeStrata xe0.1.43

Choose a tag to compare

@MistVVK MistVVK released this 12 Oct 15:34
· 298 commits to main since this release

Warning

This is an old release. Get the latest from the latest release.
古いリリースです。最新版は最新のリリースから入れてください。

English | 日本語

English

Preliminary: the speed comparison with upstream follows.

Install

  1. Pick the package for your GPU from the table below and download it (with SHA256SUMS).
  2. Check it: sha256sum -c SHA256SUMS --ignore-missing.
  3. Install it: sudo apt install ./xestrata-contrib-cuda13.1_0.1.43-1_amd64.deb (Ubuntu) or sudo dnf install ./xestrata-contrib-cuda13.4-0.1.43-1.x86_64.rpm (Fedora).
  4. Run xestrata --setup in a terminal. If a GPU library or the render group is missing, it prints the command that installs it and stops; run that command, then xestrata --setup again.

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-save by 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-mtp and --pipeline-windows work 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=0 turns 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 との速さの比較は後で足す

インストール

  1. 下の表から GPU に合うパッケージを選び、SHA256SUMS と一緒にダウンロードする。
  2. 確かめる: sha256sum -c SHA256SUMS --ignore-missing
  3. 入れる: 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)
  4. 端末で 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 自身のもの、層の分割ではすべてのカードを表示)。