Ramakm/AI-Engineering
A group of notebooks and other files which can help you learn AI from scratch.
AIエンジニアリング:実践的 – リポジトリの提供内容
TL;DR
自己学習型、ノートブック駆動のカリキュラムで、機械学習の数学的基礎から、実世界のAIサービス(RAG、OCR、API提供モデル)の構築までを段階的に学べます。すべてのコンテンツはJupyterノートブックまたは小さなPythonプロジェクトに含まれており、明確なフォルダ構造と推奨される学習パスがあります。
対象者
- 微積分からディープラーニングまで体系的な学習パスが必要な初心者。
- LLM中心のスキルギャップ(RAGパイプライン、ファインチューニング、デプロイメント)を埋めたいエンジニア。
- 理論中心のチュートリアルではなく、実践的なコードを好む人。
実際に得られるもの
| セクション | コアコンテンツ | 実行可能な出力例 |
|---|---|---|
| 1. 数学の基礎 | 微分、ベクトル、勾配、確率。 | 後続のPyTorchコードに直接つながるノートブックベースの計算。 |
| 2. PyTorchの基礎 | テンソルの作成、リシェイプ、インデックス、基本演算。 | モデルの構築の基本となるテンソル操作を行う小さなスクリプト。 |
| 3. ニューラルネットワーク(NN) | 単一ニューロンの実装、層の積み重ね、バックプロパゲーションのノート。 | ライブラリの魔法を使わず、完全に自作した最小限のフィードフォワードネットワーク。 |
| 4. Transformer | アテンション、マルチヘッドアテンション、デコーダーのみのアーキテクチャ。 | 小さなTransformerをノートブックで構築し、フォワードパスを実行する。 |
| 5. 検索拡張生成(RAG) | エンドツーエンドのパイプライン:ドキュメントのチャンク化、モデルによる埋め込み、FAISSへの保存、検索、設定可能なLLMプロバイダー(Atlas Cloud、MiniMax、OpenAI、互換API)による回答生成。 | 供給されたFAISSインデックスを使ってサイバーセキュリティに関する質問に答える実行可能な app.py。 |
| 6. OCR | 画像前処理 + テキスト抽出(pytesseract + Gemini)。 | アップロードされた画像からテキストを抽出する、小さなFastAPI/Render対応サービス(main.py)。 |
| LLMの基礎 | トークン、埋め込み、トークン化の理論。 | RAGセクションを補完するノートブックでの解説。 |
| ファインチューニング | LoRA、QLoRA、Unslothノートブック。 | 小さなJSON抽出データセット上でベースLLMを適応させる方法を示すスクリプト。 |
| 基本的なMLモデル | 線形回帰、リッジ回帰、ロジスティック回帰、決定木、SVM、クラスタリング。 | すぐに実験できるクラシックなscikit-learnノートブック。 |
| DLプロダクションプロジェクト | ANN/CNN、RNN/LSTM、GRUの例をFastAPIまたはStreamlitで提供、Docker化。 | python train.py から uvicorn app.main:app で開始できる完全機能のAPI。 |
| データ分析・ユーティリティ | インターネット通販データセットの探索、YouTube字幕サーバー、面接対策チェックリスト、書籍リスト。 | 練習と文脈を補うための追加リソース。 |
はじめ方
- リポジトリのクローンとインストール:トップレベルの
requirements.txtをインストール。 - Jupyterを起動(
jupyter labまたはjupyter notebook)。 Start_here/learning_path.mdの学習パスに従い、ノートブックを 1 → 2 → 3 → 4 の順に実行。- プロジェクトフォルダ(RAG、OCR、DL)に到達したら、そのフォルダ内の
README.mdを読み、提供されたapp.pyやtrain.pyを実行する前に追加の依存関係をインストール。
特筆すべき強み
- エンドツーエンドのカバー – 理論からデプロイされたサービスまで、すべて1つのリポジトリで完結。
- モジュール構造 – 関係のないコードを読み飛ばさずに、必要なセクション(例:RAGパイプラインのみ)を選び取り可能。
- 現実世界の例 – サイバーセキュリティドキュメントを対象としたRAGユースケースと、実行可能なOCRサービスが用意済み。
- プロダクションスタイルのコード – FastAPI/Streamlitラッパー、Dockerfiles、テストにより、ノートブックからサービスへの移行の実態を体験可能。
潜在的な欠点
- リポジトリは非常に大きいため、単一のトピックのみが必要な場合、すべてをダウンロードするのは過剰になる可能性がある。
- 一部のノートブックは基本的なPython/NumPyの知識を前提としているため、絶対的な初心者には簡単な復習が必要になる場合がある。
- NNセクションに記載されている「Muon」最適化手法は、標準のPyTorch最適化手法ではない。誤記か、他の場所でドキュメント化されていないカスタム実装の可能性がある。
メンテナー
作者 Ramakm(GitHubハンドル)がXおよびInstagramでプロジェクトを宣伝しています。リポジトリはMITライセンスで、明確なガイドラインのもとで貢献を歓迎しています(ノートブックの整頓、PRスタイルなど)。
まとめ
数学の基礎から始まり、LLM拡張アプリケーションの構築と配信までを一貫したカリキュラムで学びたい人にとって、このリポジトリはまさにその答えを提供しています。実行可能なコードと明確なドキュメントが備わっています。
クイックスタートコマンド(クローン後):
pip install -r requirements.txt # 基本依存関係
jupyter lab # ノートブックを開く
その後、Start_here/learning_path.md のガイドに従ってください。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト