618ZXW

「大規模モデル ホワイト ボックス構築ガイド」を卒業すると、必要なビデオ メモリは 2GB のみで、LLM に関するすべてをゼロから作成できます。

オリジナルのTiny-universe Datawhale

データホエールオープンソース

オープンソースへの貢献: Datawhale チーム

序文

「大規模モデル構築のためのホワイトボックスガイド」は、基本原則と「ホワイトボックス」アプローチに焦点を当て、大規模モデルをゼロから構築するための実践的なガイドです。従来のディープラーニングの経験を持つ読者が、大規模モデルのアーキテクチャ、事前学習、RAGフレームワーク、エージェントシステム、評価システムなど、明確で使いやすい大規模モデルシステムをゼロから構築できるように支援することを目的としています。このプロジェクトでは、基本原則から始め、各技術ポイントを深く分析し、完​​全なコード実装をゼロから提供します。詳細な説明とコードコメントにより、読者は大規模モデルのコア部分を自力で再現することができ、このプロセスを通じて大規模モデルへの深い理解と習熟を達成できます。

このプロジェクトの目的は、学習者向けに明確で使用可能かつ再現可能な大規模モデルの世界を構築し、興味のある学習者全員が独自のTiny LLM Universe を手作業で独立して構築できるように支援することです。

プロジェクトの主な内容は次のとおりです。

  • 大規模モデルの原理を深く分析する — Qwenブログ
  • Tiny Llama3: ステップごとに事前トレーニングされた、手動で構築された大規模なモデル。
  • 大規模モデルの評価方法 – Tiny Eval
  • Tiny RAG: すべて手作業で作られたRAGフレーム
  • 最小限のエージェントシステムを手動で開発する – Tiny Agent
  • 大規模モデルの基礎を深く理解する - Tiny Transformer

オープンソース アドレス: https://github.com/datawhalec...

図1. プロジェクトのホームページ

オープンソースの本来の意図

大型モデルとは何ですか?

狭義には、大規模モデル(LLM)とは、ディープラーニングアルゴリズムに基づいて学習された自然言語処理(NLP)モデルを指し、主に自然言語理解や生成などの分野で用いられます。広義には、マシンビジョン(CV)用の大規模モデル、マルチモーダル大規模モデル、科学計算用の大規模モデルも含まれます。

百モデルの戦いが止まることなく続く中、オープンソースとクローズドソースの大規模モデルは、モデル能力の限界を絶えず押し広げ、AGIの壮大な未来に近づいています。大規模モデルの能力が継続的に向上するにつれて、大規模モデルに基づく二次的な微調整やアプリケーション開発の障壁も絶えず低下しています。大規模モデルはますます様々な産業に浸透し、生産と生活にインテリジェントな力を与えています。

しかし、ほとんどのチュートリアルは、高度にカプセル化されたAPIやオープンソースフレームワークに基づいて、開発者が便利かつ迅速な開発とトレーニングを実現する方法を指導することを目的としており、これは初心者には有益ですが、モデルの原理やフレームワークの内部詳細を習得することの重要性が軽視されています。大規模モデル自体、大規模モデルに基づくRAGやエージェントといった有効化システム、そして大規模モデルのアプリケーション開発に不可欠なコンポーネントである評価システムなど、ツールキットに基づくチュートリアルは数多く存在します。そのため、多くの学習者は「何を」理解していても「なぜ」理解しておらず、ツールキットを機械的に使いこなすだけで、原理に基づいて自由に変更することができません。このプロジェクトは、高度にカプセル化されたツールキットやAPIを捨て、最下層(PyTorch層)から始めて、大規模モデルのRAG、エージェント、評価タスクを完了するための大規模モデルシステムを「ハンズオン」で構築することを目指しています。これにより、大規模モデルの基礎知識をある程度持っている学習者が、大規模モデルの原理をさらに習得し、より自由で豊かで刺激的な大規模モデルの世界を体験できるようになります。

このプロジェクトにより、学習者に大規模モデルを実践するための具体的でアクセスしやすく魅力的な機会が提供され、実践的な経験を通じて学び、技術スキルを継続的に向上させることができるようになることを願っています。

プロジェクトの対象者

このプロジェクトは次の学習者に適しています。

  • 大規模モデルの基本的な応用を習得した後、基礎となる原理を学びたいのですが、どこから始めればよいかわかりません。
  • 好奇心が強く知識欲が旺盛な学生、そして一定の学習意欲を持つ学生。
  • 私は大規模モデルの RAG、エージェント、および評価タスクに興味があり、理論的な観点から理解したいと考えています。
  • 私は実践的なコーディングの練習を楽しんでおり、大規模なモデル RAG、エージェント、および評価タスクをゼロから作成したいと考えています。
  • 大規模モデルの基本原理を理解し、大規模モデリングのスキルを向上させます。

プロジェクトのハイライト

  • このプロジェクトの目的は、プロセス全体を最初から完全に自動化することです。
  • このプロジェクトは現在、モデルから事前トレーニング、RAG、エージェント、評価までの LLM プロセス全体をカバーし、フルスタックの LLM チュートリアルを作成しています。
  • 大規模なアルゴリズム パッケージとは異なり、私たちのプロジェクト コードは、初心者の開発者にとってより簡潔で明確な「ホワイト ボックス」になっています。
  • より良い LLM エコシステムの構築に向けて、皆様のご協力とご協力をお待ちしております。

学習ガイド

このチュートリアルは、LLM学習者に簡素化されたエンドツーエンドの実装フレームワークを提供し、大規模モデルを学習する人が内部原理をより深く理解できるようにすることを目的としています。したがって、このチュートリアルは、ある程度のNLPおよびディープラーニングの経験を持つ学習者に適しています。完全な初心者の場合は、まず「Qwen-blog」の章のライブブロードキャストコンテンツを理解できるかどうかを確認することをお勧めします。最初のレッスンの理解が難しい場合は、姉妹プロジェクト「self-llm」に進んでさらに深く探求することをお勧めします。

このチュートリアルでは、高度にカプセル化されたAPIを避け、大規模モデルの詳細を分析する完全な手作業によるアプローチを目指しています。VRAMなどのハードウェアは実質的に必要ありません。2GB以上のVRAMを搭載したグラフィックカードがあれば、このプロジェクトを最大限に活用できます。

記事の最後に

最後に、貢献者の時間とエネルギーには限りがあるため、チュートリアルにはどうしても抜け漏れや誤りが含まれる可能性があります。学習者の皆様には、学習中に積極的にご提案いただいたり、プロジェクトに直接貢献していただいたりして、チュートリアルを改良し、将来の学習者にとってより良いコンテンツを提供できるよう、共に取り組んでいきたいと考えています。

補充する

なぜ「小さな宇宙」と呼ばれるのでしょうか?

このプロジェクトは LLM に焦点を当てていますが、LLM に限定されるわけではありません。

このプロジェクトは今後もアップデートを続けていきます。tiny-rl、tiny-rlhf、tiny-diffusionといった、より高品質なハンドビルドプロジェクトも現在開発中です。また、学習に役立てたいモデルのご提案をIssueセクションにご投稿いただければ幸いです。特に専門家からのアドバイスは大歓迎です!オープンソースJavaの世界へ、共に貢献しましょう!

- 終わり -

Datawhale はいつでもお手伝いいたします。

聞きたいオープンソースチュートリアルを以下にコメントしてください。

オープンソースへの貢献、いいね!とシェア