Kan Hatakeyama

化学・大規模言語モデル・ロボットなど 記事はメモ書きですのでご了承ください

Kan Hatakeyama

化学・大規模言語モデル・ロボットなど 記事はメモ書きですのでご了承ください

記事一覧

400GB程度の清掃済み日本語コーパスを作るまでのメモ書き

はじめに最近は大規模言語モデルを作っています。 来週から始まる学習に向け、400GBほどの日本語コーパスをチームで作成しました。今後、きちんとした作業記録を書けれ…

Kan Hatakeyama
3週間前
12

Pythonで大量のテキストの類似度チェックを行うメモ

はじめに最近は大規模言語モデルのコーパスづくりに四苦八苦しています。 収集したテキストには、多くの重複データが含まれるためそれらを削除する作業が大切です。 重複削除…

Kan Hatakeyama
1か月前
16

ChatGPTのログをexportしてjsonlにするメモ (指示データセットに使いたい)

はじめに大規模言語モデルの構築にあたって、最も大切と言われるのは、モデルのファインチューニングとよばれる部分です。 ファインチューニングは、モデルが人間ときちんと対…

Kan Hatakeyama
1か月前
2

一部のGPT3.5系は、選択肢問題をきちんと解けないかも、という検証

はじめに最近は、大規模言語モデル(LLM)の理解力や制約をできるだけ正確に把握し、適切に訓練させるための手法を考えることにハマっています。 昨日の記事では、日本語を喋るL…

Kan Hatakeyama
1か月前
8

(10b程度の)大規模言語モデルが「種々のスキル」を身につけるために必要な要素や学習量を考えるメモ

はじめに最近は、10bクラスの大規模言語モデル(LLM)が特定のスキルを身につけるのに必要な要素を解明するタスクに取り組んでいます。 このサイズのモデルは、思ったよりも「…

Kan Hatakeyama
1か月前
18

10bクラスの大規模言語モデルが、ファインチューニングを経てタスクを解けるようになるメカニズムを探るメモ

追記・拡張版はこちら はじめに最近は大規模言語モデルのファインチューニングにハマっています。 10bクラスの言語モデルが、どのようなメカニズムを通してユーザーの質問…

Kan Hatakeyama
1か月前
27

ファインチューニング条件の検討による、10bクラスの大規模言語モデルの理解・回答能力についての検証と考察

(以下、時間の都合上、まだきちんと校正できておりません。ご了承ください) 4/1追記: こちらの記事の方が、きちっとした検証がなされています。 はじめに大規模言語モデル…

Kan Hatakeyama
1か月前
23

商用利用可能な130億パラメータの日本語LLM「Tanuki-ZeRo」を一般公開 【代表的な日本語ベンチマークで世界6位: オープンモデル…

(前半はパロディ風のネタ記事です。ご了承ください) 4/1追記: ページ下部に、記事へのご指摘に関するまじめなQ&Aを追加しました。 3/31追記: 一部、ご批判がありましたの…

Kan Hatakeyama
1か月前
43

10b程度のモデルをファインチューニングする日記 (逐次更新)

はじめに最近は大規模言語モデルを作っています。 主に2-3月はデータセット構築や事前学習に取り組んできました。 概ね、手応えがつかめてきたので、次はファインチューニン…

Kan Hatakeyama
1か月前
15

カスタムコードを含むTransformerモデルをHuggingFaceに登録する手順メモ

はじめに大規模言語モデルを作っていると、モデル内部のコードをいじることがあります。 そのようなカスタムコードを含むモデルをHuggingFaceのリポジトリに登録して利用す…

Kan Hatakeyama
1か月前
7

0.1bのtransformerのperplexityで文章フィルタリングができるかどうかの検証

はじめに最近は大規模言語モデルを作っています。 大規模言語モデルの学習において、事前学習データのフィルタリングは重要と言われています。 フィルタリングにはいくつも…

Kan Hatakeyama
1か月前
6

CommonCrawl PDFを漁る練習

はじめに最近は大規模言語モデルを作っています。 データソースとして、ネット上のhtmlデータを収集したCommonCrawlは有名です。 しかし、htmlから抜き出したテキストは、あ…

Kan Hatakeyama
1か月前
10

大規模言語モデルの学習に必要な計算量を試算する

はじめに最近は大規模言語モデルを作っています。 10B級のモデルを作れるリソースを使わせていただける予定なのですが、具体的なFLOPの推定が必要そうだったので、軽く試算…

Kan Hatakeyama
2か月前
16

0.1-1B程度の日本語・大規模言語モデルを作る練習日記

はじめに最近は大規模言語モデルを作っています。 最終的には10B級のモデルを作るのですが、その前に、0.1-1b程度で練習をします。 本記事は、その取り組みのメモ・日記…

Kan Hatakeyama
2か月前
31

会議メモ: 化学・材料・バイオ分野における実験自動化の現状や課題

(以下、きちんと作文する時間をとれなかったので、メモ書きをClaude 3でまとめたものです。 変な箇所が多々あるかもしれませんが、ご了承ください。meetingにお集まり頂いた方…

Kan Hatakeyama
2か月前
8

大規模言語モデルをフルスクラッチする練習 (環境構築ー前処理ー事前学習ーファインチューニングー評価まで)

はじめに以下のオープンなプロジェクトの一環で、大規模言語モデルをフルスクラッチで作る練習をします。24年3月現在、協力者も募集中です。 リポジトリ当該プロジェクトの標…

Kan Hatakeyama
2か月前
124

400GB程度の清掃済み日本語コーパスを作るまでのメモ書き



はじめに最近は大規模言語モデルを作っています。

来週から始まる学習に向け、400GBほどの日本語コーパスをチームで作成しました。今後、きちんとした作業記録を書ければと思いますので、直近では、かなり立て込んでおりますので、備忘録も含めて、構築経緯などを軽くメモしていきます。

スライド、コード、データなどスライドはこちら

コードはこちら(工事中の箇所がちょくちょくあります)

データは、プロ

もっとみる

Pythonで大量のテキストの類似度チェックを行うメモ

はじめに最近は大規模言語モデルのコーパスづくりに四苦八苦しています。
収集したテキストには、多くの重複データが含まれるためそれらを削除する作業が大切です。

重複削除はCなどのコンパイル言語で高速にやるのが常套手段なのですが、今回はあえて、pythonライブラリで実行してみました。

関連

例えばこちら

テキストwebから収集した、7万件ほどのテキストを使います。

Hojicharに入ってい

もっとみる

ChatGPTのログをexportしてjsonlにするメモ (指示データセットに使いたい)

はじめに大規模言語モデルの構築にあたって、最も大切と言われるのは、モデルのファインチューニングとよばれる部分です。
ファインチューニングは、モデルが人間ときちんと対話できるようになるための訓練で、AIは、実際の対話データなどを学習することで、人間との関わり方を学びます。

最近は指示データセットを作る取り組みを行っています。

が、ゼロからデータセットを作るのはなかなか骨が折れます。

そこで思い

もっとみる

一部のGPT3.5系は、選択肢問題をきちんと解けないかも、という検証

はじめに最近は、大規模言語モデル(LLM)の理解力や制約をできるだけ正確に把握し、適切に訓練させるための手法を考えることにハマっています。

昨日の記事では、日本語を喋るLLMの半数近くが、単純な選択肢問題にさえ、適切に回答できないことを記しました。

本記事では、賢いと評判の商用モデルGPT3.5/4の、ユーザーに対する指示の遵守性能について、評価していきます。

タスク解かせる問題

llm-

もっとみる

(10b程度の)大規模言語モデルが「種々のスキル」を身につけるために必要な要素や学習量を考えるメモ



はじめに最近は、10bクラスの大規模言語モデル(LLM)が特定のスキルを身につけるのに必要な要素を解明するタスクに取り組んでいます。
このサイズのモデルは、思ったよりも「おバカ」なため、例えば選択肢問題をきちんと解けるようになるためだけに、数百件以上の訓練(ファインチューニング)が必要な事例も出てきました。

本記事では、LLMに身に着けさせる「タスク」の幅を、もう少し増やしながら、挙動を追っ

もっとみる

10bクラスの大規模言語モデルが、ファインチューニングを経てタスクを解けるようになるメカニズムを探るメモ


追記・拡張版はこちら

はじめに最近は大規模言語モデルのファインチューニングにハマっています。
10bクラスの言語モデルが、どのようなメカニズムを通してユーザーの質問に回答できるようになるかについて、調べています。

最近の検討で生じた仮説は、「10bクラスのモデルは、実は質問文を殆ど理解できていない」というものです。

本記事ではどのようなデータを学習したときに、llm-jp-evalという評

もっとみる

ファインチューニング条件の検討による、10bクラスの大規模言語モデルの理解・回答能力についての検証と考察


(以下、時間の都合上、まだきちんと校正できておりません。ご了承ください)

4/1追記: こちらの記事の方が、きちっとした検証がなされています。

はじめに大規模言語モデルは大きく、1)事前学習、2)ファインチューニングの二段階によって訓練されます。2)ファインチューニングは、ざっくり言えば、「人間と対話するための訓練」です。すなわち、人間の指示を理解し、期待される回答をするための練習をする作業

もっとみる

商用利用可能な130億パラメータの日本語LLM「Tanuki-ZeRo」を一般公開 【代表的な日本語ベンチマークで世界6位: オープンモデルで1位相当、GPT3.5やClaude v2を一部凌駕, 23/3/30時点】


(前半はパロディ風のネタ記事です。ご了承ください)

4/1追記: ページ下部に、記事へのご指摘に関するまじめなQ&Aを追加しました。

3/31追記: 一部、ご批判がありましたので、jaster特化のモデルを作った学術的(?)な経緯などについて、以下の(真面目な方の)記事で、まとめています。真面目な方は、こちらを先に読まれることを強くおすすめします。
10bクラスのLLMは未学習タスクに対して

もっとみる

10b程度のモデルをファインチューニングする日記 (逐次更新)


はじめに最近は大規模言語モデルを作っています。

主に2-3月はデータセット構築や事前学習に取り組んできました。

概ね、手応えがつかめてきたので、次はファインチューニングの練習をしていきます。本記事は、その日記です。

3/26まで: システムのセットアップHuggingFace形式のモデルをinstruction tuningして、日本語のベンチマークで評価するためのパイプラインを作っていま

もっとみる

カスタムコードを含むTransformerモデルをHuggingFaceに登録する手順メモ


はじめに大規模言語モデルを作っていると、モデル内部のコードをいじることがあります。
そのようなカスタムコードを含むモデルをHuggingFaceのリポジトリに登録して利用するための手順を習得するのに苦戦したので、備忘録も込めて記載します。

以下のサイトを参考にしました。

デモコード本記事の実装コードはこちらです。

Configとモデルを登録する今回は、Mixture of Experts

もっとみる

0.1bのtransformerのperplexityで文章フィルタリングができるかどうかの検証


はじめに最近は大規模言語モデルを作っています。

大規模言語モデルの学習において、事前学習データのフィルタリングは重要と言われています。

フィルタリングにはいくつもの方法がありますが、ルールベースでノイズを取り除くのは、処理速度の面でも有利です。

一方、最近は機械学習ベースのフィルタリングも注目されています。

特に、処理速度と精度を両立した(?)手法として、言語モデルのperplexity

もっとみる

CommonCrawl PDFを漁る練習


はじめに最近は大規模言語モデルを作っています。

データソースとして、ネット上のhtmlデータを収集したCommonCrawlは有名です。

しかし、htmlから抜き出したテキストは、あまり品質が高くないケースが多いです。
また、html版は多くの方が取り組んでおり、意外と日本語のテキストは枯渇気味です。

そこで今回は、CommonCrawlのPDF版を解析してみます。

コード一式(3/21

もっとみる

大規模言語モデルの学習に必要な計算量を試算する


はじめに最近は大規模言語モデルを作っています。

10B級のモデルを作れるリソースを使わせていただける予定なのですが、具体的なFLOPの推定が必要そうだったので、軽く試算してみることにしました。
計算が間違っていたらすみません。

試算サイトを活用する以下のサイトを使うと、モデルサイズ・学習トークン数をもとに、学習に必要な計算量FLOPsやestimated lossを推定できます。素晴らしいで

もっとみる

0.1-1B程度の日本語・大規模言語モデルを作る練習日記

はじめに最近は大規模言語モデルを作っています。

最終的には10B級のモデルを作るのですが、その前に、0.1-1b程度で練習をします。
本記事は、その取り組みのメモ・日記です。(逐次更新します)

注意点
・日記なので、内容はかなり雑多です。
・練習を兼ねたcode実装なので、先端知見が含まれているとも限りません。
・どんなことをやっているか、時系列を追って理解する参考にはなるかもしれません。

もっとみる

会議メモ: 化学・材料・バイオ分野における実験自動化の現状や課題


(以下、きちんと作文する時間をとれなかったので、メモ書きをClaude 3でまとめたものです。 変な箇所が多々あるかもしれませんが、ご了承ください。meetingにお集まり頂いた方々、誠にありがとうございました)

はじめに近年、人工知能(AI)、ロボット工学、化学、材料科学、ライフサイエンスなどの分野において、研究や実験の自動化が急速に進められています。先日、これらの分野の専門家が集まり、自

もっとみる

大規模言語モデルをフルスクラッチする練習 (環境構築ー前処理ー事前学習ーファインチューニングー評価まで)

はじめに以下のオープンなプロジェクトの一環で、大規模言語モデルをフルスクラッチで作る練習をします。24年3月現在、協力者も募集中です。

リポジトリ当該プロジェクトの標準コードが公開※されたので、それを走らせてみます。
※24/3/5時点で、まだレポジトリ内に、工事中の箇所が多々、あります。

このリポ上では、事前学習ー事後学習ー評価まで、一気通貫(?)したパイプラインが提供されています※。

もっとみる