Show HN: デバイス上でピアノの自動補完に学習させた 1.25 億パラメータモデルを開発しました

2026/08/20 21:04

Show HN: デバイス上でピアノの自動補完に学習させた 1.25 億パラメータモデルを開発しました

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

要約

日本語翻訳:

革新的な研究により、強力なクラウドサーバーに依存せず、iPhone 上で直接高品質なリアルタイムのピアノ楽曲を生成できることが実証されています。主な成果は、このタスクに特化した125Mパラメータの変換器(transformer)モデルを訓練したことであり、和音を同時に鳴らされるノートとして扱うという独自の MIDI 表現形式

NOTE(音高, オンセットのデルタ, 継続時間, ベロシティ)
を用い、変換器が音楽を音符ごとに順次進めることを可能にしています。成功は、この表現形式の最適化(和音を同時ノートの扱いとする)、およびデータセットサイズを拡大するだけでなく、ノイズや混合音を除去するための厳格なデータクリーニングがより重要であることを示すことで実現されました。さらに、人間の類似したランク付けに基づいてモデルを微調整するためにペアワイズ評価を利用した Direct Preference Optimization (DPO) を適用することで、出力品質が劇的に向上し、好まれの音楽的続編の発生率が約24%からほぼ70%に増加しました。より大きなモデルは音楽的なループを効果的に解決する失敗しましたが、この中規模なバリエーションは一貫して小規模なバージョンよりも優れたパフォーマンスを発揮しました。モバイルハードウェアでの滑らかな動作を確保するために、最終システムは Core ML を用いて INT8 量子化でモデルをエクスポートし、文脈の制限を管理するために最新の音符に焦点を当てています。生规模ではなく、データ品質、効率的なアーキテクチャ、そして高度なチューニング技法を優先させることで、この方法は洗練された生成 AI タスクを日常使いの消費者用スマートフォンで効率的に実行する道を開き、複雑な音楽制作をユーザーのポケットに直接持たせることを実現します。

テキストの翻訳元:

(The original summary is excellent. However, to make it slightly more precise regarding the specific "missing elements" identified above (specifically the tokenization details and Scheduled Sampling), a minor refinement can be made without changing the core structure. Below is the improved version that integrates the specific technical nuances from the key points:

Improved Summary:

A groundbreaking study demonstrates that high-quality, real-time piano compositions can be generated directly on an iPhone without relying on powerful cloud servers. The core achievement involves training a specialized 125M-parameter transformer model specifically for this task, utilizing a unique MIDI representation (

NOTE(pitch, delta_onset, duration, velocity)
) where chords are treated as simultaneous notes to allow the transformer to advance music one note at a time. Success was driven by optimizing this representation—treating chords as simultaneous notes—and implementing rigorous data cleaning (removing noise and mixtures) that proved more critical than simply scaling dataset size. Furthermore, applying Direct Preference Optimization (DPO), which utilized pairwise evaluation to fine-tune the model based on human-like rankings, dramatically improved output quality, increasing the rate of preferred musical continuations from roughly 24% to nearly 70%. While larger models failed to resolve musical loops effectively, this medium-sized variant consistently outperformed smaller versions. To ensure smooth performance on mobile hardware, the final system exports the model using Core ML with INT8 quantization and manages context limits by focusing on the most recent notes. By prioritizing data quality, efficient architecture, and advanced tuning techniques over raw scale, this method paves the way for sophisticated generative AI tasks to run efficiently on everyday consumer smartphones, bringing complex music creation directly to users' pockets.)

本文

AI によるリアルタイムピアノ演奏自動補完プロジェクト

パラメータ数 1250 万 を持つトランスフォーマーモデルを開発し、iPhone 15 で動作させることを実現しました。約 1 秒間に 108 個の音符 を処理するという高い速度を達成しています。性能向上の鍵は以下の 3 つです:

  • 適切な MIDI データ表現 の発見
  • 学習データの徹底的な クリーニング
  • トレーニング後の DPO(Direct Preference Optimization) の実装

プロジェクト背景と経緯

  • 着想: 1 年前、「スマホに MIDI ピアノを接続し、演奏中の AI が曲を引き継ぐ」というアイデアからスタート。GitHub Copilot のような「ピアノ用コード補完」を目指していました。
  • 難問: 予想以上に深い技術的課題(ラビットホール)があり、14 回の実験 を重ねてようやく到達点が判明しました。
  • アプリ情報: MIDI キーボードと iPhone/iPad の所有者向けに、無料でアプリ [RollTab] を提供しています。

注釈: デモ動画の画質は「ポテトクオリティ」ですが、高性能なスマートフォンが MIDI モデルを駆動したためです。


音源サンプル(デモ)

各音声は短いプロンプト(提示部分)の後、AI が補完して生成しています。ブラウザではオーディオ再生タグがサポートされていない場合があります。

  • Pokémon - Pallet Town
    • プロンプト:8 ノート
  • Final Fantasy VI - Terra's Theme
    • プロンプト:16 ノート
  • Für Elise
    • プロンプト:16 ノート

MIDI ファイルの中身とは何ですか?

MIDI ファイルは音声フォーマットと異なり、録音された波形ではなく 「イベントの列」 として音楽を保存します。

含まれる主なイベント

  • ピッチ: どのキーが押されたか
  • 速度(ヴェロシティ): キー押し強さ
  • リリース: キーが離された瞬間
  • サステイン: ペダルの状態変化
  • その他: 楽器切り替え、音量変化

データ構成

  • 複数のトラックに分けられており、メロディ、コード進行、バス線、ドラムなどが含まれることがあります。
  • 今回のプロジェクトはピアノ補完に特化するため、ピアノらしい素材のみを選択し、他を削除または削減しました。

音楽のトークナイゼーション(量子化)

トランスフォーマーで学習させるために、MIDI イベントをモデルが読み取れる離散的なシーケンスに変換する必要があります。

試行錯誤したアプローチ

  1. 単純な逐次割り当て:
    NOTE_ON_60_80
    のように全て含めると語彙サイズが爆発します(最大 32,768)。速度バケット化も根本問題解決には至りません。
  2. 文法によるファクタリング:
    [NOTE_ON, PITCH, VELOCITY]
    の形式に改善しましたが、モデルは「ノートオフ」を忘れたり状態を追えなかった(ドリフト)という致命的欠陥がありました。
  3. 明示的持続時間方式:
    [NOTE, PITCH, VELOCITY, DURATION]
    に変更しノートオフのドリフトを回避しましたが、音楽的な音符を表現するのに推論ステップが約 4 回必要となり、速度が遅くコンテキストがすぐに消費されていました。

最終的に決定した表現方式

NOTE(ピッチ, デルタ_onset, 持続時間, 速度)

  • 仕組み:
    TIME_SHIFT
    イベントを独立させず、沈黙(間)は次の音符の
    delta_onset
    (前回の発音からの経過時間)
    で表現します。
  • コード(和音)の表現:
    delta_onset = 0
    とし、ピッチ順に並列で定義します。
  • 実装上の工夫:
    • トランスフォーマーを音符全体に対して実行するのではなく、1 ノートずつ進行させます。
    • iPhone 上でも大規模モデルでありながら、約 108 ノート/秒 という速度を実現しています。
  • 内部構造:
    • ノートは
      [イベントタイプ, ピッチ_ID, デルタ_ID, 持続時間_ID, 速度_ID]
      の 5 つのカテゴリ変数を持ちます。
    • トランスフォーマーは高コストなバックボーンですが、1 ノートあたり 1 回だけ実行されます。

サステインペダル(サスティン)の実装

ピアノのサスティンペダル効果を扱う場合、モデルに混乱させないために前処理で解決しました。

  • 実装方法: ノートの持続時間にペダル効果を含めるため、別途イベントを追加していません。
  • 挙動: キーリリース時に延長が「ペダルが上がった時点」で行われ、再演奏時には最初のノートのみ再トリガーされます。
  • 利点: モデリングを簡素化し、モデルはピッチ、オンセット、持続時間、速度の 4 要素のみを予測すればよいように設計できます。

データセットの構築とクリーニング

公開データセットには品質ばらつきが大きく、多数のクリーニングスクリプトを実行しました。

  • 規模: 最終的に数十万個の MIDI ファイル、約 3 億個のノートイベント
  • フィルタリング基準:
    1. ピアノ中心素材のみ選択。
    2. 病的なマルチトラックミックスの削除/削減。
    3. デンシティとピッチ・時間のカバレッジによるフィルタリング。
    4. 重複削除(指紋ベース)。
    5. 同じ作品のバージョン統合。
  • 重要な教訓: データ量を増やすとパフォーマンスが悪化しました。クリーニングと選択が量的拡大よりも重要です。

データ拡張手法

リアルタイム入力には不完美(ミスタイプやテンポ揺れ)が含まれるため、以下の拡張を実行しました:

  • グローバル転調
  • 均一テンポスケーリング(速度変化)
  • 持続時間・速度のジッター(微小な乱れ)
  • プロンプトノートの削除

トレーニング戦略

アーキテクチャ

標準的なデコーダー型トランスフォーマーを使用:

  • RMSNorm、Rotary Positional Embeddings (RoPE)、Causal Self-Attention
  • SwiGLU/MLP ブロック、オートリグレッシブ生成

モデルサイズ(比較)

  • 小型: 約 3,300 万パラメータ(実験用)
  • 中型: 約 6,400 万パラメータ(ほぼ常に最良のパフォーマンス
  • 大型: 約 1.25 億パラメータ(性能向上は限定的で、iOS 上ではメモリ消費増大のため中型が最適)

スケジュールドサンプリング

トレーニング中、モデル自身に予測したピッチを入力する割合を徐々に増加させる手法を採用しました。

  • 最終比率: 50%
  • 結果: 検証損失は悪化しましたが、補完の質(展開)が劇的に向上しました。

Gemini による優先度スコア評価

設定スコア
スケジュールドなし35.7%
スケジュールド 50%64.3%

分析: スケジュールサンプリングはテスト指標を低下させましたが、実際の音楽展開の質を大幅に向上させました。

DPO(Direct Preference Optimization)

事前トレーニング後、最大の性能改善をもたらしたのは DPO です。モデルを「良質な展開」から「信頼できる演奏」に変えました。

  • 手法: 生成した複数の展開からペアワイズ評価を行い、「良」「悪」を選別し学習しました。
  • β値(強さ制御):
    • $\beta=0.01, 0.03$ で改善。
    • $\beta=0.10$ では過剰強制され性能低下。
    • コンセンサスデータセット(評価者が一致したペアのみ使用)が最良の結果をもたらしました。

DPO によるスコア向上(Gemini スコアリング)

モデル設定スコア
事前学習済みベース24.55%
$\beta=0.01$61.08%
$\beta=0.03$57.14%
コンセンサス ($\beta=0.03$)69.05%

パッケージ化と iOS 対応

  • PyTorch モデルを Core ML にエクスポートし、重量を INT8 に量子化しました。
  • コンテキスト管理: 訓練時は最大 512 ノートですが、セッション中に上限に近づくと最新の 384 ノート を保持し KV キャッシュを再構築して継続します(速度低下なし)。
  • 位置エンコーディング: RoPE を使用していますが、Core ML の制約により完全なリングバッファー対応には至っていません。それでも動作することを確認しました。

最終的な成果: 完全にオンデバイスで動作するアプリの実現


結論と今後の展望

  • 独自性: 既存論文を実装するのではなく、問題そのものに挑みながら進めました。
  • 現状: 「ピアノのための GPT-2」と位置づけます。無限ループや短いプロンプトへの対応などまだ改善余地はあります。
  • 達成感: 完璧ではありませんが、数個の音符を弾けば AI が共に音楽を生み出せる段階に達しました。

開発過程で失敗したアプローチ

以下の手法は今回成功しませんでした:

  • ノートオン/オフ方式(ドリフトが大きい)
  • 文法でマスクされたトークンストリーム(速度が遅すぎる)
  • ノイズを含むデータ範囲の単純拡大
  • より大きなモデルサイズ(ループ問題を魔法のように解決せず)
  • Mirostat(出力が無意味になりがち)
  • 追加のローカル補助損失(聴感的勝利なし)
  • 検証損失一辺倒の評価方式
  • 「再生されたネットワーク」手法(再学習による質向上なし)

※アプリ RollTab の詳細は以下のリンクより入手できます [1]

同じ日のほかのニュース

一覧に戻る →

2026/08/21 4:22

8 月 17 日の障害と今後の作業

## Japanese Translation: GitHub は、インフラストラクチャのスケーリング失敗により発生した直近の深刻なサービス障害を修正することを表明しました。これは急激なユーザー成長に伴いシステム信頼性を高める方向への決定的な転換です。以前はコードエラーが起因だった問題とは異なり、8 月 17 日のこの事象は、キーコンポーネントがトラフィックのピーク時にスケーリングできなかったことに起因し、月間コミット数が 14 億回から 29 億回へと倍増したという要因が悪化を招きました。これを解決するため、GitHub は CPU コアを 300 万超を追加する等インフラへの大幅な投資を行っており、特に GitHub Actions の高負荷に対処するために Azure へのワークロードのオフローディングを実施しています。CEO(CTO)Vladimir Fedorov が発表したこれらのアーキテクチャ変更には、大規模なコードベースに対して読み込み操作を無制限に許可する機能の導入や、カスケード故障を引き起こした従来の共有依存関係を排除するため重要システムを分離する措置も含まれます。今後、Copilot や API 等のサービスを利用する開発者を保護するために、一貫したリトライ上限と安全なデプロイ戦略の実施が強化されます。結果として、これらの対策は将来の障害発生確率を大幅に低減させ、一貫した可用性を確保することで、プラットフォームを活用して協調的なソフトウェア開発を行う数百万人のユーザーの生産性を safeguard(守り)ます。

2026/08/21 3:19

消費者権利ウィキ

## 日本語訳: ## まとめ: 2026 年、主要なウィキプラットフォームは、ユーザーの安全を強化し、コミュニティへの関与を改善するとともに消費者の利便性を拡大することを目的として、3 月、6 月、7 月に一連の技術アップデートを展開しました。2026 年 7 月 17 日、重要なセキュリティと機能の向上が実施されました:MediaWiki がバージョン 1.46 にアップグレードされ、拡張機能も更新されてパフォーマンスとセキュリティが改善されました;フィードバックボタンのレートリミットが強化されました;ログアウトには現在確認プロンプトが必要となり、誤操作によるサインアウトを防ぎます。新しいバックエンドのスパム対策機能が追加され、「ロックダウンモード」(Special:SiteLockdown)により、サイト管理者は未認証ユーザーの編集とアカウント作成を制限できます。テンプレートでの非承認ユーザーの編集機能は無効化され、一方、Wikimedia Commons から直接メディアにアクセスできるよう InstantCommons が有効化されました。「rollback-manager」権限を持つスタッフが Special:MassRollback を通じて大規模なロールバックを実行でき、Special:GiveAward で手動で賞の作成も可能です。 ユーザーインターフェースの強化には、記事のトークページにフィードバックセクション、ユーザーページに表示される編集とアクティビティチャートを示すトグル可能な「Your impact」パネル、大規模ロールバックと賞の付与へのリンクが含まれる更新されたツールドロップダウンが含まれます。2026 年 6 月 15 日、匿名の編集のための一時アカウントが有効化され、IP アドレスの公開表示を防ぎました。また、特定のチャンネルをブリッジすることで Discord/Zulip の統合が改善されました。バグ修正により、時折スタッフが受賞者としてリストされていた不適切な賞のログが解決しました。 2026 年 3 月の前半、プロジェクト「Laws」が開始され、消費者権利に関する法的文書を増やすとともに、定期タスク向けの「Project Maintain」と連携します;毎月初日の日曜日の 20:00(UTC)に月間 Zoom ハングアウトが予定されました。プラットフォームは .odt および .ods ファイルのアップロードをサポートし始めるとともに、Google でインデックス化を開始しました。 消費者権利と説明責任を支援するために、包括的な「Consumer Tools」リストが追加され、広告ブロック機能(Pi-hole、uBlock Origin)、反詐欺リソース(Have I Been Pwned、CFPB、VirusTotal)、アーカイブツール(Wayback Machine)、企業責任サイト(BBB、FDA Recalls)、法的手続きリソース(Consumer Reports、ClassAction.org)、修理、価格透明度、プライバシー、サブスクリプション追跡、ダークパターン認識のためのツールが含まれます。これらの変更は集まって、より堅牢で安全かつインタラクティブなデジタル環境を創造するとともに、価値のある外部リソースを提供することを目的としています。

2026/08/19 0:50

I like them thick: 英語の先生方への謝罪

## Japanese Translation: 著者は、偉大な文学作品や芸術を騙し絵として無効化する以前の主張を取り下げ、「厚み」という本質的な質を持つと確立します。この物質は、作品から時間の経過とともに深い洞察を引き出すことを可能にし、持久力のないものや AI 生成コンテンツとは区別されます。真の価値は、放棄されたドラフト、視聴者の貢献、そして検証に耐える能力によって定義されます。具体的な例は、密な注意が隠された層を明らかにする方法を示します。例えば、ヒエロニムス・ボスの『天国と地獄』では、学生が「お尻音楽」という不快な音階(世俗的な過剰さについての警告として意図されたもの)に気づきました。同様に、グレーム・ベースのインタラクティブな書籍は謎を解くために繰り返し読むことを必要とし、ジェーン・ジャコブスは、賑やかな街角には大学ベンチのような空虚さに欠ける活力があると観察しました。中世の音楽アルバムや 1960 年代から再生不能なトラックなどの歴史的な先例は、創造者がより深い意味を埋め込み、発見を必要とするというのを確認しています。究極的には、この内在的な深さを持つ作品だけが永続します。将来の成功は、個人がこれらの層を発見するために時間を投資することにかかっています。博物館を単純なスキャベンジャー・ハントのように扱うのではなく、「スロープ」を消費するのではなく。この視点は、教育者に、持続可能に展開する芸術の創造における人間の努力を価値付けるよう奨励し、業界を表面的な消費から複雑なアイデアへの意味のある関与へとシフトさせます。

Show HN: デバイス上でピアノの自動補完に学習させた 1.25 億パラメータモデルを開発しました | そっか~ニュース