7ステップで作る日本語GPTスクラッチ開発ハンズオン
Python/Pytorchで日本語ひらがなGPTをゼロから作ろう!
Description
※2024/2/27にgoogleのGemmaのコードをローカル(実演はColab)で実行するハンズオン追加しました。
日本国内からAttentionを利用した新しい事前学習モデルのアーキテクチャを提案し、そのモデルで最高性能を上回ったというニュースはなく、「GPT-NeoX」「LLaMa2」など、その背後には事前学習済みの「Transformer」ベースの言語モデルをすでに海外の組織が開発を行い、その上で日本語で後から事後学習(ファインチューニングやRLHF)を行ったものがほとんどです。
これは1つには計算資源の問題がありますが、もう一つの問題としてそもそもTransformerベースの言語モデルを実装できるという人材が日本では非常に少ないというのがあります。
今後ますます熾烈な戦いが予想されるLLMの分野で、その背景となる技術「Transformer」に着目し、スクラッチで実装し事前学習(Next Token(Character) Prediction)できるようになっておくことは、
日本からまたエキサイティングな技術を生み出せる礎になると考えております。
そこで、私自身が深層学習・自然言語処理業界で長らく現役で研究開発を行ってきた知見・スキルを惜しげもなく詰め込んだ「7ステップで作る日本語GPTスクラッチ開発ハンズオン」を開講いたしました。
この講座では、Google Colab環境の煩雑なセットアップや難しい環境構築の心配をせずに、現在大注目のChatGPTの魔法を解き明かす7つのステップをご案内します。更におまけとしてXwin-LM-13bやElyza-llama2の量子化されたバージョンをGoogle Colabから呼び出しソースコードを自動生成するハンズオンも実施いたします。その他「Zephyr 7b Alpha」に関しても実行するハンズオンを行っていきます。
Step 1: Google Colaboratoryのセットアップ まずは煩雑な環境構築の心配をせずに、Google Colabをセットアップしましょう。手軽に始めることができるため、学習を始めるハードルを下げます。
Step 2: 青空文庫の夏目漱石「吾輩は猫である」をBeautifulSoupでWebスクレイピング 実際のテキストデータを扱い、自然言語処理の基本を学びます。BeautifulSoupを使用してテキストを取得し、次のステップに備えます。
Step 3: 自然言語処理(正規表現・形態素解析・エンコーディング・デコーディング・訓練データ作成) テキストの前処理を通じて、正規表現や形態素解析の技術をマスターします。テキストデータを適切な形に整え、トークン化します。
Step 4: Bigram(2-gram)言語モデルの実装解説 基本的な言語モデルを実装するステップです。Bigramモデルを通じて、単語の連続性を理解し、テキスト生成の基本原則に触れます。
Step 5: Attentionを計算するための数学的トリック(行列計算、トライアングル) Transformerモデルの魔法の一部であるAttentionメカニズムを理解するために、行列計算やtorch.tril()について学びます。
Step 6: Self-Attentionの実装 Self-Attentionメカニズムを実装し、トークン間の関係性を捉える方法を理解します。これはTransformerの中核です。
Step 7: Multi-Head Attention/Positional Encoding/GPTの実装・訓練・推論 最終ステップでは、Multi-Head AttentionやPositional Encodingを組み合わせて、GPTモデルを実装、訓練、推論します。ChatGPTの中身を理解し、自分自身でもテキスト生成モデルを作成できる力を身につけます。
(おまけ)"TheBloke/Xwin-LM-70B-V0.1-GPTQ"を扱う
Xwin-LMをhuggingfaceライブラリを使用して呼び出し、Colab環境で日本語によるソースコード生成ができるようになります。
(おまけ)"ELYZA-japanese-Llama-2-7b-fast-instruct-GPTQ-calib-ja-2k"と"HuggingFaceH4/zephyr-7b-alpha"を扱う
huggingfaceライブラリを"ELYZA-japanese-Llama-2-7b-fast-instruct-GPTQ-calib-ja-2k"と"HuggingFaceH4/zephyr-7b-alpha"を使用して呼び出し、Colab環境で物語生成やソースコード生成ができるようになります。
(おまけ)OpenAIのAPIアップデート(2024/1/25) をフル活用したRAGシステムの実装方法
text-embedding-3-smallとgpt-4-0125-previewを使ったRAG(Retrieval Augmentation Generation)で自社テキストから回答させる実装を20分で解説します。
この講座は、Google Colab環境での手軽な学習を通じて、Transformerの核心概念を深く理解し、自然言語処理の世界に踏み込むためのものです。プログラミング初心者から経験豊富な開発者まで、どなたにもおすすめです。
ぜひUdemyで「7ステップで作るGPTスクラッチ開発ハンズオン」をご覧いただき、Transformerの実装と自然言語処理の興奮を体験してください!
What You Will Learn!
- GPT言語モデルの構築・訓練・推論
- Transformerとは何か
- 自然言語処理の基本技術
- Bigram(2-gram)言語モデルの構築
- Attentionメカニズムの理解
- Self-Attentionの実装
- Multi-Head AttentionとPositional Encodingの組み合わせ
- Pytorchモデルの訓練と推論
- LLaMa2の派生形
- Xwin-LM
- ELYZA-japanese-Llama-2
- HuggingFaceH4/zephyr-7b-alpha
- Mixtral-8x7b
- text-embedding-3-smallとgpt-4-0125-previewを使ったRAG(Retrieval Augmentation Generation)
- Mistral-Next
- Google Gemma
Who Should Attend!
- ChatGPT/大規模言語モデル/LLMの実装に興味があってPython/Pytorchの入門を終えた方