GuppyLM:教育目的でゼロから構築された900万パラメータの大規模言語モデル

✍️ OpenClawRadar📅 公開日: April 16, 2026🔗 Source
GuppyLM:教育目的でゼロから構築された900万パラメータの大規模言語モデル
Ad

GuppyLMとは

GuppyLMは、Guppyという名前の魚のふりをする小さな言語モデル(約900万パラメータ)です。博士号や大規模なGPUクラスターを必要とせずに言語モデルの仕組みを実証するためにスクラッチから構築されました。このプロジェクトには、データ生成、トークナイザーの作成、モデルアーキテクチャ、トレーニングループ、推論が含まれており、すべて約130行のPyTorchコードで実装されています。

アーキテクチャ詳細

  • パラメータ数: 870万
  • 層数: 6
  • 隠れ次元: 384
  • ヘッド数: 6
  • FFN: 768 (ReLU)
  • 語彙数: 4,096 (BPE)
  • 最大シーケンス長: 128トークン
  • 正規化: LayerNorm
  • 位置エンコーディング: 学習済み埋め込み
  • LMヘッド: 埋め込みと重み共有

これはGQA、RoPE、SwiGLU、早期終了などの機能を持たない標準的なトランスフォーマーで、可能な限りシンプルな設計です。

トレーニングとデータ

このモデルは、無料のColab T4 GPU上で約5分間、60のトピックにわたる6万の合成会話でトレーニングされます。データセット(HuggingFaceのarman-bd/guppylm-60k-generic)は、{"input": "...", "output": "...", "category": "..."}形式で5万7千のトレーニングサンプルと3千のテストサンプルを含んでいます。

トピックには以下が含まれます:挨拶、感情、温度、餌、光、水、水槽、騒音、夜、孤独、泡、ガラス、反射、呼吸、泳ぎ、色、味、植物、フィルター、藻、巻貝、怖がる、興奮、退屈、好奇心、幸せ、疲れ、外、猫、雨、季節、音楽、訪問者、子供、人生の意味、時間、記憶、夢、大きさ、未来、過去、名前、天気、睡眠、友達、冗談、恐怖、愛、年齢、知性、健康、歌、テレビなど。

個性と出力

Guppyは、水、温度、光、振動、餌について、短く小文字の文で話します。お金、電話、政治などの人間の抽象概念を理解しません。会話例:

あなた> やあ、グッピー
Guppy> やあ。岩の近くのいい場所を見つけたよ。温度がちょうどいい感じ。
あなた> お腹すいてる?
Guppy> うん。いつもお腹すいてる。今すぐ上に泳いでいくよ。全部食べるって約束する。
あなた> 人生の意味ってなに?
Guppy> 餌。答えはいつも餌だよ。
Ad

クイックスタート

Guppyとチャット(トレーニング不要): HuggingFaceから事前トレーニング済みモデルをダウンロードします。ノートブックのすべてのセルを実行するだけです。

自分でトレーニング: ランタイムをT4 GPUに設定し、すべてのセルを実行します。データセットのダウンロード、トークナイザーのトレーニング、モデルのトレーニング、テストが行われます。HuggingFaceにアップロードするか、ローカルにダウンロードできます。

ローカルでチャット:

pip install torch tokenizers
python -m guppylm chat

ローカルでのやり取り例:

あなた> 猫があなたを見てるよ
Guppy> 毛むくじゃらなやつが来たら、植物の後ろに隠れるよ。
あなた> 外で雨が降ってる
Guppy> 外で一番いいのは雨だと思う。

プロジェクト構造

guppylm/
├── config.py          # ハイパーパラメータ(モデル+トレーニング)
├── model.py           # 標準トランスフォーマー
├── dataset.py         # データ読み込み+バッチ処理
├── train.py           # トレーニングループ(コサインLR、AMP)
├── generate_data.py   # 会話データ生成器(60トピック)
├── eval_cases.py      # ホールドアウトテストケース
├── prepare_data.py    # データ準備+トークナイザートレーニング
└── inference.py       # チャットインターフェース

このプロジェクトは、数十億パラメータのモデルを扱わずにトランスフォーマーアーキテクチャの基礎を理解したい開発者に役立ちます。完全な実装は、生のテキストからトレーニング済みの重み、生成された出力までのすべての要素を示しています。

📖 Read the full source: HN LLM Tools

Ad

👀 See Also

Claude Code v2.1.90は、CLAUDE_CODE_NO_FLICKERフラグによるマウスサポートを追加しました。
Tools

Claude Code v2.1.90は、CLAUDE_CODE_NO_FLICKERフラグによるマウスサポートを追加しました。

Anthropicは、チャットインターフェース内でマウスサポートを可能にする新機能を備えたClaude Code v2.1.90をリリースしました。ユーザーは、claudeを実行する前に環境変数CLAUDE_CODE_NO_FLICKER=1を設定することで有効化できます。

OpenClawRadar
Arena AIモデルELO履歴が経時的なLLM性能低下を追跡
Tools

Arena AIモデルELO履歴が経時的なLLM性能低下を追跡

ライブダッシュボードは主要AI研究所のフラッグシップモデルのELOレーティングを可視化し、段階的なパフォーマンス低下と新リリース時の急上昇を明らかにします。このツールは研究所ごとに1本の曲線を動的にプロットし、最高評価のモデルを追跡します。

OpenClawRadar
リポジトリトークン:GitHubアクションがLLMコンテキストウィンドウ認識のためのトークン数バッジを追加
Tools

リポジトリトークン:GitHubアクションがLLMコンテキストウィンドウ認識のためのトークン数バッジを追加

Repo Tokensは、tiktokenを使用してコードベースのサイズをトークン数でカウントし、READMEにバッジを表示してLLMのコンテキストウィンドウの何パーセントを占めるかを示すGitHub Actionです。バッジは30%未満を緑、50-70%を黄、70%以上を赤で表示します。

OpenClawRadar
hiresTI: OpenClaw/MCPサポートを備えたネイティブLinux TIDALプレーヤー
Tools

hiresTI: OpenClaw/MCPサポートを備えたネイティブLinux TIDALプレーヤー

hiresTIは、安定した再生、高品質なオーディオ出力、GTK4/Libadwaita UI、そしてMCPを介したOpenClaw統合によるリモートコントロールに焦点を当てた、TIDAL向けのネイティブLinuxデスクトップクライアントです。このアプリは、PythonのUI層とRustのオーディオコアを組み合わせています。

OpenClawRadar