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

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> 餌。答えはいつも餌だよ。
クイックスタート
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
👀 See Also

177のOpenClaw SOUL.mdテンプレートを24のカテゴリに分類したコレクション
開発者が、マーケティング、開発、ビジネス、DevOps、財務、クリエイティブ、データ、セキュリティ、医療、法務、人事、教育など24のカテゴリーにわたるOpenClawエージェント向けの177のすぐに使えるSOUL.mdテンプレートをまとめました。すべてのテンプレートはMITライセンスで、GitHubで公開されています。

CAL: LLMエージェントのためのオープンソースコンテキスト最適化レイヤー
CAL(Context Assembly Layer)は、インテリジェントなコンテキスト選択と圧縮により、Claude APIのトークン使用量を83%削減するPythonライブラリです。pip installで利用可能で、MITライセンスで提供されています。

ヘッドレスモードでClaudeコードを使用したDIY OpenClaw代替案
ある開発者が、タスク、スケジュール、メモのためのTelegramボットアクセス、Hammerspoon自動化、ローカルMarkdownファイルストレージを備えた、ヘッドレスモードでClaude Codeにプロンプトを送信するPythonサーバーを構築しました。

Dev-Card: Git履歴から開発者アイデンティティカードを生成するClaudeコードスキル
Dev-Cardは、gitリポジトリを分析して共有可能な開発者アイデンティティカードを生成するClaude Codeスキルです。このツールは、コミットのタイミング、言語の内訳、コミットメッセージのパターン、コミットサイズの分布に基づいて、11種類の開発者アーキタイプのいずれかを割り当てます。