掲載済み (2026-07-18号)
210 218文字 • 2分

nanoGPT-Seis: 地震科学に特化した小型GPTモデルの学習ライフサイクル全工程の解説

原題: GitHub - jiazhe868/nanogpt-seis: Train a small GPT for earthquake science — the entire LLM lifecycle, from a blank folder to a talking model, explained block by block.

英語

掲載情報

概要

地震科学をテーマに、データ収集からモデル実装、学習、スケーリング則の検証まで、113MパラメータのGPTモデル構築プロセスを詳細に解説した教育用リポジトリ。

詳細内容

本リポジトリは、地震科学(Seismology)を対象とした113Mパラメータの小型LLM「nanoGPT-Seis」の構築工程をゼロから網羅したガイドです。Karpathy氏のnanoGPTに触発されつつ、現代的なLlama系アーキテクチャ(GQA、RoPE、RMSNorm、SwiGLU)を採用し、4096トークンの長いコンテキストに対応しています。 主な内容は以下の6段階に分かれています: 1. **データ収集**: CrossrefやarXiv、Substack等から学術論文や専門テキストを自動収集するスレッドセーフなクローラーの実装。 2. **前処理**: MinHashとLSHを用いた重複削除、PDFからのテキスト抽出とクリーニング。 3. **トークナイザー**: ドメインに特化した16kボキャブラリのBPEトークナイザーの自作。 4. **モデル実装**: FlashAttentionを含むアテンション機構や各種正規化レイヤーの解説。 5. **学習**: 2基のNVIDIA A30を用いたDDP(分散データ並列)による効率的な学習と、VRAM消費の予測手法。 6. **推論**: KVキャッシュやストリーミング出力、アンチリピート制御を備えた推論エンジン。 さらに、muP(Maximal-Update Parametrization)を用いたスケーリング則の実験も含まれており、計算資源(IsoFLOP)に応じた最適なモデルサイズとデータ量の推定など、実務的なLLM開発の知見が凝縮されています。