大規模にリーンを実行する(Running Lean at Scale)

2026/01/14 6:50

大規模にリーンを実行する(Running Lean at Scale)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Harmonic のインフラチームは、Python 用に

.proto
ファイルを
compile.py
とテンプレート(
pymodule.in.cc
)でコンパイルして特殊化された C++ コードを生成するカスタム Protocol Buffers 実装 pbcc をリリースしました。pbcc は標準ライブラリの代わりに使用され、高速・メモリ効率(2 GB 以上のメッセージも処理可能)と、ネイティブなリスト/辞書を備えた Pythonic API を提供します。また IDE のオートコンプリートや型チェック用に
.pyi
スタブを生成します。広範囲なテストはすべてのフィールドタイプ、未知フィールドの保持、および
PyObjectRef
ラッパーによるメモリ安全性をカバーしています。

チームはまた Aristotle を公開しました。このプロジェクトは 2025 年国際数学オリンピックで金メダルを獲得し、Lean 4 で形式的に検証されています。Aristotle は VERINA ベンチマーク仕様の 189 件中 160 件(96.8 %)を解決し、選択ソート、ランレングス符号化、LIS、および top‑k 頻度要素といったアルゴリズム証明で主要な LLM を上回る性能を示しました。補完的なオープンソースツールとして Newclid 3.0(幾何学ソルバー)と Yuclid(証明生成器)が統合され、Aristotle と連携して補助点の生成が可能です。

Harmonic の Lean REPL サービスは v1–v4 からグローバルにロードバランスされた C++ プロトコルへ進化し、接続ピンニングなしでリクエストをルーティングします。約 500 k CPU を対象とし、95 % 超の稼働率を実現しています。同社は $75 M の Series A(Sequoia 主導)、$100 M の Series B(Kleiner Perkins 主導)、および $120 M の Series C(Ribbit Capital 主導)を調達しました。

今後の計画としては、転送コスト削減のためにルーターディスクに状態データを保存し、非 GKE CPU 容量を活用し、さらに高い稼働率を実現するためにオートスケーリングとグローバルキューイングを改善することが挙げられます。

本文

私たちのインフラチームは、ハイパフォーマンスなワークロード向けに標準ライブラリを置き換えるために、Python 用に pbcc というカスタム Protocol Buffers 実装を開発しました。pbcc は軽量化されたコンパイラであり、Protobuf メッセージ用の専用 C++ コードを生成することで、大規模データセットをメモリ内で扱う際のオーバーヘッドを大幅に削減し、Python API をよりクリーンにしています。


概要

  1. 背景 – 標準ツールが当社のニーズに合わなかった理由。
  2. pbcc の設計 – 速度とシンプルさを実現した方法。
  3. 主要ポイント – コアインフラをゼロから構築する際の教訓。

背景

Protocol Buffers は

.proto
ファイルで定義された構造化データを直列化します。一般的なワークフローは次の通りです:

  1. スキーマ(
    .proto
    )を書く。
  2. protoc
    でコンパイルする。
  3. 生成された Python ライブラリを使ってメッセージをシリアライズ/デシリアライズする。

しかし、データ規模が拡大すると標準の Python 実装では次のような限界に直面しました:

  • 非常に大きいメッセージは遅く、メモリを大量消費。
  • 2 GB を超えるメッセージはしばしば失敗。
  • API が型チェック(例:
    mypy
    )をサポートせず、繰り返しフィールドにカスタムコンテナ型を使用しているため、等価性比較が直感的でない。

要件

必要説明
高速大容量ペイロードでも低レイテンシ。
メモリ効率非常に大きいメッセージをクラッシュせず処理。
Pythonicネイティブ
list
dict
を使用し、IDE の型ヒントが利用可能。

pbcc のアーキテクチャ

pbcc は ahead‑of‑time(AOT)コンパイル方式を採用しています。

  1. compile.py
    が Google の Protobuf コンパイラで生成されたモジュールからメッセージ記述子を読み取ります。
  2. 高度に最適化された C++ テンプレート(
    pymodule.in.cc
    )を使用して、各メッセージタイプ用のソースコードを生成します。
  3. 生成された C++ コードは拡張モジュール(
    .so
    )としてコンパイルされます。
  4. Python はこのモジュールをインポートし、データクラスと同様に振る舞うクラス(
    serialize()
    /
    deserialize()
    メソッド付き)を取得します。

プロトコルバッファのロジックはすべて拡張モジュール内にあり、Python コード側では pbcc オブジェクトを通常のオブジェクトとして扱うだけです。


主要設計決定

正確性(最優先)

  • すべてのフィールドタイプと修飾子を網羅したテストスイート。
  • Protobuf 規格に従った未知フィールド処理:再シリアライズは意味的に等価で、必要に応じて削除してメモリを節約。
  • 深く入れ子になったメッセージの安全なメモリ管理には
    PyObjectRef
    ラッパーを採用。
  • 64 ビット整数をネイティブに扱い、人工的なサイズ制限は設けない。

利便性

  • モジュールと同時に生成される
    .pyi
    スタブファイルで IDE の自動補完と型チェックがフルサポート。
  • すべての Protobuf 型をネイティブ Python 型へマッピング:繰り返し →
    list
    、マップ →
    dict
    、オプション →
    None

パフォーマンス & スケーラビリティ

  • カスタム
    StringReader/Writer
    クラスがメモリを効率的に管理し、必要なときだけコピー。
  • pbcc は既に Google の upb ライブラリと同等の速度を実現しており、更なる C++ 最適化も可能。

結論

pbcc のような社内開発ソリューションは次のことを示しています:

  • 外部プロジェクトを採用するコストが、そのメリットを上回る場合がある。
  • 自社のニーズに合わせてツールをカスタマイズすると、API がよりクリーンになり、性能も同等かそれ以上になる。

pbcc は現在 GitHub で公開されています:https://github.com/harmonic-ai/pbcc。類似プロジェクトに興味がある方は、Harmonic にご参加ください!

同じ日のほかのニュース

一覧に戻る →

2026/01/14 5:45

**ゲームズ・ワークショップ、スタッフのAI使用を全面禁止 経営陣はテクノロジーに興味津々でない** - 同社は従業員が業務上人工知能ツールを利用することを一律で禁じる方針を採用しました。 - 経営層は知的財産の安全性や創造的コントロールへの影響を懸念していると述べています。 - 業界内では注目が集まっても、上級経営者はAIがデザイン・生産フローに与えるメリットに対し慎重な姿勢を保ち続けています。

## Japanese Translation: **改善された概要** Games Workshop は、コンテンツ制作と設計プロセスにおける生成型 AI ツールの使用を正式に禁止しました。この方針では、厳格な監視下で数名の上級マネージャーのみが AI を実験できるようになっていますが、その可能性についてはまだ誰も興奮していません。外部コンペティションへの参加を含む不正使用は禁止されており、企業はデータ準拠・セキュリティ・ガバナンスを監視し、AI/ML エンジンがデバイスに自動インストールされるのを防止する必要があります。 GW の禁止措置は知的財産権を保護し、人間クリエイターを尊重するとともに、上級スタッフによる限定的な調査を許可しています。この決定は、より広い文脈の中で行われました。GW は *Warhammer 40,000* や *Age of Sigmar* などのフラッグシップテーブルトップタイトルを所有し、高品質のコデックス本・ミニチュア・アニメーションを販売しており、最近は新規採用で Warhammer Studio を拡大しました。Displate の作品に関する最近の紛争―Displate がそのアートワークが AI によって生成されたと否定し、「赤旗」を人為的なミスに帰せたケース―は、ファンが生成型 AI アートに対して反発していることを示しています。特に Warhammer の美学に大きな影響力を持つアーティスト John Blanche の存在がその背景にあります。 今後も GW はデータ準拠とセキュリティの監視を継続します。上級マネージャーは AI の可能性を探るかもしれませんが、内部方針の変更や外部圧力が変わらない限り、広範な採用は見込めません。この禁止措置により GW は Genvid、EA、Square Enix など AI を積極的に導入している競合他社に比べて遅れを取ることになり、ゲーム開発の競争ダイナミクスが変わる可能性があります。これは生成型 AI の統合に対する業界全体の慎重な姿勢を反映しています。

2026/01/14 2:10

**チューリップ・クリエイティブ・コンピュータ** - 芸術と技術のユニークな融合 - 革新的なビジュアル体験を設計 - 鮮やかなカラーパレットと最先端ハードウェアを組み合わせる

## 日本語訳: **Tulip CC** は低電力で手頃な価格のセルフコンテインドポータブルコンピュータで、オープンソースの音楽ワークステーションとしても機能します。ESP32‑S3マイクロコントローラを中心に構築され、MicroPython を実行し、AMY ステレオ 120 ボイスシンセサイザーエンジン(加法/減法/F‑M 合成、サンプラー、Karplus–Strong、アナログフィルタ、シーケンサー、ドラムマシン、パッチエディタ)とキャパシティブ・マルチタッチ対応のタッチスクリーンディスプレイを備えています。 デバイスは 8.5 MB の RAM(MicroPython 用 2 MB、OS 用 1.5 MB、残りがグラフィックスフレームバッファ)と 32 MB のフラッシュ(うち 24 MB が使用可能)、Wi‑Fi、USB キーボード/マウス/MIDI、I²C/Grove/Mabee コネクタをセンサーや周辺機器用に搭載し、組み込みの pico/nano スタイルエディタ(構文ハイライトと REPL)も備えています。グラフィックスは LVGL によって処理されます:テキストフレームバッファ 128 × 50(ANSI 256 色)、スキャンラインあたり最大 32 スプライト(32 KB ビットマップメモリ)、1024 × 600 の背景フレームバッファでスクロール、PNG ローディング、デフォルト 30 FPS、解像度調整可能、256 色。 電力消費は 5 V で 575 mA(中程度の輝度)で、LiPo、18650、または USB バッテリーパックに対応しています。追加ソフトウェア機能として、ネイティブチャット/ファイル共有 BBS「TULIP ~ WORLD」、MIDI 入出力コールバック、およびクリエーションの共有用 Web バージョンがあります。 Tulip CC は市販ユニット、DIY ハードウェアキット、フル機能の Web アプリ、またはネイティブデスクトップアプリ(Mac/Linux/WSL)として入手可能です。開発リソース—完全な API ドキュメント、チュートリアル、Discord コミュニティ、およびオープンソース GitHub リポジトリ—が提供されており、埋め込みデバイスとデスクトップ環境の両方で動作するために貢献が必要です。将来のファームウェア更新では、合成モジュールの拡張、LVGL を介したグラフィックス解像度の向上、および電力効率の改善がコミュニティの入力を受けて行われる可能性があります。

2026/01/14 1:22

「二つの頭(=複数の視点)が一つより優れているのでしょうか?」

## Japanese Translation: ## 要約 コイントスの結果を時折だけ報告する人々がいる場合、報告者数が奇数であると予測精度が向上し、さらに1人追加して偶数にすると追加効果は得られないという点が主旨です。 シミュレーションと解析的な検証から次のように示されています:正直な友人(80 % 正解率)を1人だけ持つ場合、2人目を加えても精度は80 %のままであり、合意しても不一致が相殺されるため利益がありません。3人目が参加すると精度は90 %に上昇し、4人目が加わると再び90 %に戻ります。このパターンは奇数回報者ごとに繰り返されます。 この発見はコンドルセートの陪審理論を反映しており、偶数規模のグループでは多数決が引き分けになる可能性があるため、新たな情報を提供しないことを説明しています。著者は、創造的執筆プロジェクトを開催するプログラミングリトリート「Recurse Center」でベッティングシミュレーションを実行している際にこの現象に気付きました。 今後の研究では、この傾向がより複雑な投票設定や大規模グループでも維持されるかどうかを検証することが期待されます。グループサイズと偶奇性が意思決定品質に与える影響を理解することで、クラウドソーシングサイト、陪審制度、または人間の判断を集約するあらゆるプラットフォームの設計者が、不必要な偶数参加者を追加しないよう助けることができます。

大規模にリーンを実行する(Running Lean at Scale) | そっか~ニュース