vLLMのセットアップとテストを、10台のNVIDIA V100サーバー(合計320GB VRAM)で実施

ハードウェア構成と構築メモ
開発者がAMD Threadripper PROシステム上に10基のTesla V100 SXM2 32GB GPU(合計320GB VRAM)を搭載したローカルAIサーバーを構築しました。このセットアップは、NVIDIAドライバー580.126.20を搭載したUbuntu 24.04ヘッドレスを使用しています。GPUトポロジーは、2つのNVLinkクワッドメッシュ(GPU 0-3、4/5/8/9)とNV6ペア(GPU 6-7)で構成されています。
V100でvLLMが動作するもの
- FP16非量子化:
--dtype halfを使用する主要なパス - bitsandbytes 4ビット: FP16には大きすぎるモデルで動作
- TRITON_ATTN: FlashAttention2にはSM 80+が必要なため自動フォールバック
- テンソル/パイプライン並列: TP=4およびTP=4 PP=2の両方を正常にテスト
V100で動作しないもの
- GPTQ: ExLlamaV2カーネルがSM 7.0で破損(vLLM issue #2165)
- AWQ: SM 75+が必要
- FP8: SM 75+が必要。MiniMax M2.5は内部でFP8を使用していますが、動作しません。
- FlashAttention2: SM 80+が必要
- DeepSeek MLA: Hopper/Blackwell専用。完全なDeepSeek V3/R1はvLLM + V100では実行できません。
構築要件と重要な修正
PyTorch 2.11.0+cu126が必要です。cu126はV100をサポートする最後のバージョンであり、cu128以降はVoltaをサポートしません。ソースコンパイルにはTORCH_CUDA_ARCH_LIST="7.0"とMAX_JOBS=20が必要です。issue #36008にはMoEカーネルパッチが必要で、fused_moe.py内のB.size(1)をB.size(0)に変更します(2行)。PYTHONNOUSERSITE=1は、古いシステムパッケージからconda環境を分離するために必要です。
重要なNCCL依存関係の修正: pip install -e .を実行すると、nvidia-nccl-cu12と一緒にnvidia-nccl-cu13がインストールされます。cu13ライブラリは実行時にロードされ、cu126ランタイムに存在しないCUDA 13シンボルを参照するため、マルチGPU起動時に「NCCL error: unhandled cuda error」が発生します。修正には、すべてのnvidia-*パッケージをアンインストールし、依存関係を慎重に管理することが含まれます。
📖 Read the full source: r/LocalLLaMA
👀 See Also

どのAIモデルを使うべきか尋ねるのはやめよう:タスクをHaiku、Sonnet、Opusの階層に振り分けよう
タスクタイプごとに少なくとも3つのモデルを使い分けよう。読書・要約にはHaikuクラス、コード作成にはSonnetクラス、複数ファイルのリファクタリングやデバッグにはOpusクラスのみを使用する。あるユーザーの設定では、タスクの40%を安価なモデル、35%を中級、25%を最先端のモデルに振り分け、月額約30~40ドルかかっている。

SOUL.mdルールは、長時間のAIエージェントセッションでドリフトする問題とその修正方法
SOUL.mdのルールは最初の10〜15メッセージでは完璧に機能しますが、会話のコンテキストが初期のシステムプロンプトを上書きするため、メッセージ20〜30あたりからずれ始めます。解決策は、個別のタスクごとにセッションをリセットするため、/newをより積極的に使用することです。

iOSショートカットを使ったiCloud同期経由でのiPhone写真をCoworkに送る回避策
ある開発者が「PhoPo」というiOSショートカットを作成しました。これはiPhoneの写真をJPEGに変換し、サイズを変更して、CoworkがアクセスできるiCloud同期フォルダに保存するもので、モバイルデバイスからのスクリーンショットや写真をClaudeが分析できるようにします。

OpenClaw サブエージェント:返信を完了受領書として扱わないでください
OpenClawのsessions_spawnは非ブロッキングです。作業が受け入れられたときにrunIdと子セッションを返し、完了したときには返しません。つまり、親のオーケストレーションセッションが部分的な出力を受け取り、それを要約して、子がまだ実行中、失敗、または失われている間に成功を報告することができます。