[Engine] scope: should per-card weight trimming cover --layer-split auto, and on by default? (PR #4522)
メンテナーはふだん 3 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- cpp
- 領域
- backend, performance
調査の方向性
Read PR #4522 and compare its default behavior with the current --layer-split handling, especially the auto path and CUDA0. Use the reported two-card benchmarks and rounding comparison to assess the tradeoff between enabling trimming by default and keeping it opt-in. Done means settling the default and updating the PR accordingly; the issue identifies no files or tests.
索引モデルが issue の本文から書いたものです。
説明
Main already trims each card's dense weights to its own layer range with an explicit --layer-split (opt-in, off by default), so the common path - --layer-split auto, which the app uses - never trims, and CUDA0 never trims at all. PR #4522 extends it there: every card including the first reloads only its own layers' weights, and the freed VRAM goes to the expert cache.
The scope question is the default. Measured on RTX 5080 + RTX 4060 Ti / 32 GB (Swift 1.5 IQ2_XS, 64K, q4_0 KV, same prompts, engine-log rates): expert cache 6812 -> 8021 slots on CUDA0, decode 33.9-38.8 -> 52.0 tok/s (+34 to +53%). The fork the implementation comes from (Strata-DualGPU, #642) ships it on by default; #639 proposed the same idea for explicit splits.
Two options:
- on by default (as in the PR, as in the fork): every two-card
autouser gets the faster placement without a flag; the placement changes, which changes the last bits of expert rounding (the fork's author measured perplexity 7.28 vs 7.24 and the same top token at 93.9% of positions over 5,333 teacher-forced tokens); - opt-in (
--trim-stage-weights, like today's explicit-split switch): the default path stays byte-identical to the last release, users opt in; the app would need to pass the flag for its users to benefit.
Happy with either - if opt-in is preferred I will flip the PR's default and keep the rest. Tradeoffs above; the measurements stand either way.
- 主要言語
- C++
- スター
- 11.6k
- フォーク
- 1k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Niko1221/Strata のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
Niko1221/Strata#4779 · コメント 2 件 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 3 日以内に返信
-
[GUI] npm test deletes the person's model folder: models-folder.test.mjs removes <drive>\Strataオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Niko1221/Strata#4630 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
Niko1221/Strata の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
elf-alchemist/elfbsp#113 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
patrick-hudson/put.gd-desktop#979 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Dao-AILab/flash-attention#3097 ·
メンテナーはふだん 3 日以内に返信
-
tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
prestonbrown/helixscreen#1990 ·
メンテナーはふだん 1 日以内に返信