【LLM開発】大規模言語モデル開発に重要なデータセットについて解説!
直近では2024年2月にGoogle社が新しい生成AIのサービス開始を発表するなど、ますます様々な場面、業界での活用が進み、活躍が期待されています。
生成AIでは2023年に発表されたChatGPTが特に有名で、企業での活用が進められていますが、その一方で、プライベートLLM(大規模言語モデル)のように、セキュリティ対策がなされていて社内でのみ使用できる、社内業務に特化した生成AIの開発や導入もこの1年で活発になってきています。
今回は、個人や企業におけるLLM(大規模言語モデル)開発に必要なデータセットとはどのようなものかについて解説します。
目次
大規模言語モデル(LLM)とは?
生成AIとの違いは?
ChatGPTとの違いは?
LLM開発において最も重要なものは?
大規模言語モデルの学習方法とは?
事前学習(Pre-Training)
ファインチューニング(Fine-Tuning)
データセットにはどのような種類が必要か?
コーパス
ウェブページ
ニュース記事
書籍
ウィキペディア
会話ログ・会話テキスト
多言語コーパス
ファインチューニングに利用される専門的なデータセット
機械翻訳(Machine Translation)タスク用のデータセット
質問応答(Question Answering)タスク用のデータセット
感情分析(Sentiment Analysis)タスク用のデータセット
文書分類(Document Classification)タスク用のデータセット
人間によるフィードバックデータ
データセットを収集する方法は?
自動収集
オープンソースのデータセットを利用する
クラウドソーシング
専門家による収集
データ収集サービス
ライセンス付与済みのデータセット
データセットを集める上で気を付けるべきことは?
データソースの信頼性とバイアスの排除
データの整合性
多様なトピックとスタイルの重要性
データセットのライセンス
個人情報保護
ラベルの精度
LLM機械学習に欠かせないアノテーション
教師あり学習の必要性
アノテーションを行う方法
人の手によるアノテーション
自動アノテーション
大規模言語モデル(LLM)とは?
LLMという言葉を初めて聞く方も多いのではないでしょうか。
LLM(Large Language Models)は日本語では大規模言語モデルと言われており、とても巨大なデータセットとAIのディープラーニング(深層学習)の技術を用いて構築された言語モデルです。
言語モデルは、文章・単語の出現確率を用いてモデル(お手本/型)化したもので、ChatGPTなどのようなテキスト生成AIのような文章作成などの自然言語処理(人間が使用する言語 :Natural Language Processing、NLP)で利用されています。
つまり、大量のテキストデータを学習することで、人間の言語を理解し、人間が使うように自然かつ、流暢で論理的な言語生成を実現させるものなのです。
生成AIとの違いは?
生成AIとは、テキスト、画像、動画、音声などを生成できるAIを総称している言葉で、AIによって情報や創造物を作成する技術のことを指しています。
LLMは自然言語処理に特化した言語モデルであるため、位置づけとしては、生成AIの一種となり、特に自然言語処理を担うモデルとなります。
ChatGPTとの違いは?
ChatGPTは、OpenAI社という企業が開発したAIモデル、サービスのことであり、LLMの一つの事例と言えます。
テキスト生成AIとしては、代表的なものを上げると、OpenAI社のChatGPTやMicrosoft社のBing Chat(2023年12月1日にはMicrosoft Copilotがサービス開始)、Google社のBardがあります。それ以外にも日々新しいサービスが開発され、公開されています。
関係性をまとめてみると以下のようになります。
LLM開発において最も重要なものは?
自然言語処理において、機械翻訳、文章生成、感情分析、質問応答などの様々な領域で活用が進んでいるLLM。業務効率化など、企業での活用のために、社内で開発を行う企業も増えています。
しかし、これらのモデルを開発するためには、膨大な量かつ質の高いデータセットを準備することが最も重要です。
例えば、「ものを書く人」という言葉には、執筆家、作者、作家、ライターなど様々な言い回しがあり、それぞれのもつニュアンスや使われる場面は少しずつ違っています。その結果、生成AIに問いかける人が求めている答えに正確に答えられるためには、様々な言い回しやニュアンスを知っておく必要があります。これは人間が新しく言語を学ぶプロセスと似たところがあるでしょう。
大規模言語モデルと名の通り、膨大なテキストデータを学習することが必要です。LLMの性能を高めるためにはこのデータの量と質が高く、多様性を持つものでなくてはなりません。
大規模言語モデルの学習方法とは?
大規模な言語モデルの学習は、一般的に事前学習モデルとファインチューニングの二つの段階に分けられます。それぞれのフェーズでは、異なる種類のデータセットが使われます。
事前学習(Pre-Training)
大規模言語モデルの学習の第一段階で、大量のデータを使用して大規模な自然言語コーパスを学習し、言語の基本的な言葉やパターン、文脈の理解の方法を学びます。
ファインチューニング(Fine-Tuning)
事前学習済みのモデルが特定のタスクや目的に合わせて微調整され、さらに学習を深める段階です。これにより、モデルは特定のタスクやドメインに対する性能を向上させることができます。
これは使用用途に応じて、一部の学習済みデータと新たに追加したモデルの一部を利用して調整を行います。
例えば、社内情報に答えるための社内データのデータセットや医療業界のように専門的な用語が使われる場合はそのためのデータセットが使用されます。
データセットにはどのような種類が必要か?
大規模言語モデルの開発において、データセットには下記のようにあらゆる種類のテキストが含まれていることが理想的です。
コーパス
重要なデータセットの一つとして、機械学習のトレーニングに利用されるコーパスが挙げられます。コーパスとは、テキストデータが大量に含まれるデータセットであり、以下のように様々な文書やテキスト、媒体から収集されます。これらのコーパスは、多様なトピックやジャンル、スタイルの文章を含むことが重要であり、モデルがさまざまな言語表現を学習できるようにします。コーパスは前項のように、事前学習において用いられます。
ウェブページ
ウェブ上では世界中の多様な情報源からのデータを収集することができるため、幅広いトピックや分野をカバーすることができます。また、リアルタイムで情報が反映されるため、時事問題やトレンド、今起こっていることを把握することが可能です。Common CrawlやRefinedWebというコーパスが有名です。
しかし、ウェブページにはスパムやヘイトなども含まれているため、フィルタリングなどの対処が必要となります。
ニュース記事
最新の出来事や重要な情報を提供しているため、言語モデルが現在起こっている出来事に対して適切に反応できるようにするために必要となります。また、一般的な表現や報道ならではの表現を学習することが出来るため、より自然な表現を学習することができます。
書籍
小説、マニュアル、教科書、フィクション、ノンフィクションなど幅広いジャンルの書籍を学習させることで、各ジャンルに応じた専門用語や用法、様々な文学的スタイルを学び、言語の文脈理解を向上させることができます。公開されているコーパスとしては、Project Gutenberg やBookCorpusが有名で、多くのLLMの学習に利用されています。
ウィキペディア
世界中の様々なトピックについて情報が集められたオンライン百科事典であるため、広範な知識領域を網羅し、専門知識や一般的な知識を学習させることが可能です。また、構造化された情報が含まれているため、概念の関連性や階層構造を学習するのに適しています。
会話ログ・会話テキスト
公開されている会話コーパスやSNSから会話データを収集することで、自然な言語の使用法やコミュニケーションのパターンを学習し、ユーザーの発言や応答の多様性を通じて、対話型AIの開発において、言語理解と生成の向上につながります。
しかし、そのデータの多くは、コメント欄において多くのアカウントの間で会話が交わされるため、その会話をツリー状の構造に変換して結びつける処理が必要となります。
多言語コーパス
日本語のLLM開発においては、AIの学習のために日本語で作成されたデータセットが少ないため、多言語コーパスの導入も欠かせません。
多言語コーパスの中では、ROOTSが有名です。59言語からなるテキストデータセットで、上記で挙げた、Common Crawlや、GitHub Code、その他のクラウドソーシング・イニシアチブからデータを取っており、そこから重複したものは削除かつ内容的にフィルタリングされたデータを使用しています。
ファインチューニングに利用される専門的なデータセット
上記で解説したように、ファインチューニングの段階においては、モデルにおける特定のタスクや領域における性能を向上させるためにそれに特化したデータセットが必要となります。
機械翻訳(Machine Translation)タスク用のデータセット
高品質な翻訳を生成するためには、多様な言語ペアにわたる大規模で高品質な訓練データが必要です。翻訳モデルの言語特性や文脈を学習することができ、多様な文体、ジャンル、表現形式がデータセットに含まれていることで、モデルの汎用性を向上させることが出来ます。
データセットの例としては、WMT(Workshop on Machine Translation)やUnited Nations Parallel Corpus、言語アプリで有名なDuolingo、そして英語―日本語に特化したものとしてはJParaCrawlなどが挙げられます。
質問応答(Question Answering)タスク用のデータセット
質問応答システムは、特定のドメインやトピックに関する知識をモデルに取り込む必要があります。
データセット内に適切な質問とその回答のペアを含むことで、モデルが正確に情報を取り出す能力を向上させます。
ドメイン固有の語彙や表現に対応するために特定のコーパスが重要ですが、一般的なQ&Aモデルの構築に比べると、データセットの規模はそれほど大きくない場合があります。
質問応答タスク用のデータセットには、SQuAD、CoQA、HotPotQA、 bAbI、 TriviaQA、WikiQAなど多岐に渡ります。
感情分析(Sentiment Analysis)タスク用のデータセット
感情分析モデルは、テキスト上に現れる感情や意図を理解するために訓練されます。
ファインチューニングに使用されるデータセットは、ポジティブ、ネガティブ、ニュートラルなどのラベル付きの感情情報を含むことで、モデルの感情分類能力を向上さ せます。こちらにおいても、データセットの多様性やバランスが重要であり、異なるジャンルや文体からのデータが含まれることが望ましいです。
Twitter(現X)やAmazonレビューなどのデータセットがあります。
文書分類(Document Classification)タスク用のデータセット
文書分類モデルは、テキストを異なるカテゴリに分類する能力を持ちます。
ファインチューニングに使用されるデータセットは、各カテゴリに属する文書のラベル付けが適切に行われている必要があります。
ドメインやジャンルによっては、特定の文書分類タスクに適したデータセットが必要とされますが、汎用的な文書分類モデルを構築する場合には、幅広いジャンルをカバーするデータが望まれます。
ヘイトスピーチに関する表現やトピックに関してのBengali Hate Speechなど多様なデータセットがあります。
人間によるフィードバックデータ
モデルのパフォーマンスを改善するために、実際のユーザーからのフィードバックは貴重です。モデルの出力に対して人間による評価やフィードバックを含むデータのことを指します。
人間のフィードバックデータによって、モデルが実世界の状況に適応し、より洗練された出力を生成する能力が向上します。このデータは、特定のプロジェクトの目標に合わせて使用されます。
ファインチューニングの段階では、タスクごとにより、必要となるデータセットがモデルの性質や要件により異なるため、何が必要なのかを明確化することでよりLLMの質を高めることにつながります。
データセットを収集する方法は?
データセットの種類について見てきましたが、この章では大規模言語モデルの開発におけるデータセットの収集方法について解説します。
自動収集
ウェブクローラーなどのプログラムを使ってインターネット上の大量のデータを自動的に収集する方法です。ウェブページやフォーラム、ブログ記事、ニュース記事、ソーシャルメディアなどからテキストデータを収集します。
自動収集では、ノイズが入ってしまうことによるデータの品質やラベリングの正確性が保証されない場合がありますが、大規模なデータセットを比較的短時間かつコストを抑えて収集することができます。
しかし、多くのオンラインプラットフォームがデータスクレイピング(データ抽出)を行う企業に対して課金をするようになっているため、その点のコストには注意が必要です。そして許可なく行った場合は訴訟されてしまった事例もあります。
オープンソースのデータセットを利用する
インターネット上には様々なオープンソースのデータセットが公開されているため、それらを利用する事が可能です。専門知識や特定のドメインに関する情報を含むデータを収集する場合に有用です。これにより、データの品質や適合性を高めることができますが、膨大な時間がかかってしまう可能性があります。
クラウドソーシング
主にオンラインプラットフォームを利用して、クラウドソーシングでデータを収集する方法です。アノテーション、テキストの収集など、さまざまなタスクを依頼することが可能です。
クラウドソーシングは、人手による収集よりもコストが低い場合がありますが、作業者が多い場合の品質管理が難しくなる可能性や、タスク設計を緻密に行う必要があります。
専門家による収集
データ収集サービス
データ収集サービスでは、様々なソースから膨大なデータを集約・整理することを専門としているため、データが様々な言語、地域、トピックに及び、多様性を持たせることができます。データ収集サービスを利用することで、他の方法よりかかるコストがかさんでしまう可能性がありますが、データの質と多様性を確保することができ、アウトソーシングすることで開発担当がモデル開発に時間を多く割くことができるだけでなく、社内の人件費を抑えることにつながり、場合によってはコストが安く済むということも考えられます。
ライセンス付与済みのデータセット
また、データ収集サービスや研究所などが販売している、ライセンスが付与されたデータセットを利用することで、大規模かつ構造化されたデータセットをすぐに手に入れることができます。この場合はライセンス契約に基づき、データの利用や変更、共有について制限がかけられる可能性があります。また、専門性の高いデータセットの場合は、価格が高いため、コストがかかってしまうという面もあります。
LLM開発においては、大容量で質の高いデータ収集が最重要項目であるため、より精度の高いLLMを開発するためには、社内の開発環境やノウハウの蓄積具合、条件にあった収集方法を事前に綿密に検討しておくことが重要です。
データセットを集める上で気を付けるべきことは?
LLM開発にあたっては、学習に利用されるデータの質と量がLLM自体の精度に大きな影響を与えることについては繰り返し述べてきました。そしてデータの収集方法について様々な方法があることがわかりましたが、収集にあたってどのようなことに気を付ける必要があるのでしょうか。
データソースの信頼性とバイアスの排除
情報源の信頼性を確認し、信頼できる情報源からのデータを収集します。それにより、情報の整合性と正確性が取れたデータを学習に用いることができます。スパムメールやヘイトスピーチのような偏見を含むような信頼性の低い情報源からのデータはモデルの品質を下げる可能性があります。
データの整合性
データセット全体の一貫性と整合性を確保し、不一致や矛盾がないようにします。不整合なデータはモデルの訓練に悪影響を及ぼす可能性があります。
多様なトピックとスタイルの重要性
多様なジャンルやトピックからデータを収集することで、モデルが幅広いドメインに対応できるようにします。特定のトピックに偏ったデータでは、モデルの汎化性能が低下する可能性があります。
上記で述べたように、学習データセットにニュース記事、ウェブサイトのコンテンツ、フィクション、科学論文など、異なるスタイルや文体のテキストを含めることで、モデルが様々な文章スタイルに適応できるようにします。
特定の視点やテーマに偏ってしまう場合は、モデルが偏った視点を学習し、出力の質に影響が出てしまいます。
データセットのライセンス
ライセンスが付与されているデータセットについては質が高く、ニッチな領域をカバーできるメリットの反面、ライセンスにより特にデータの商用利用やデータを変更しての派生作品の作成、・共有にあたっては制限がかかってしまう場合もあります。利用にあたってはライセンスの要件をしっかりと確認したうえで利用しましょう。
個人情報保護
大規模言語モデルの学習のために使用するデータセットはインターネット上から収集されたものが多いです。インターネット上にはウェブサイト、SNS、ブログなどから集めたデータの中には個人情報のみならず、偏った意見、感情が含まれています。
利用する際にはフィルタリングを施し、個人の情報が含まれるものは削除や匿名化の処理を行うことが必要です。
ラベルの精度
ラベリングされたデータを使用する場合、ラベルの精度を確認し、正確なラベル付けが行われていることを確保します。誤ったラベルはモデルの性能に悪影響を与える可能性があります。
LLM機械学習に欠かせないアノテーション
LLM開発においてはデータの量と質がその結果を大きく変えますが、様々な文書から収集されたコーパス、特定のタスクに関連する専門的なデータセットに並び、ラベル付けされたデータが、モデルの質向上には不可欠です。データにラベル付けを行うのは、実際には人が行います。その工程をアノテーションといい、アノテーションされたデータのことを教師データと呼びます。
教師あり学習の必要性
データセットをインターネットから自動収集している場合には、偏見や偏った情報が含まれていることが多い点について解説してきましたが、モデルが正しい予測を行うためには教師データによる教師あり学習が必要となります。それを行うことで、モデルの性能を向上させることができます。
アノテーションを行う方法
人の手によるアノテーション
ライセンス付きのデータセットなどすでにアノテーションが施されている場合もありますが、そうでない場合は、データ収集と同様に、自社でアノテーションを行う場合や、クラウドワーカーのアノテーター(アノテーションの作業者)に依頼、AIベンダーなどに委託する方法があります。
しかし、データを収集し、問題のないようにアノテーションを施す作業は膨大な工数、時間、人員を取られてしまうため、自ら集めるのは相当なリソースが割かれてしまい、社内で行うには難しい場合も考えられます。費用は自作する場合と比べるとかかってしまいますが、それに割かれるリソースやデメリットを考えると、外注するメリットは少なくありません。
自動アノテーション
そのほかにも自動アノテーションを行うこともできますがコストは安く抑えられる反面、人の手が入らないため、品質が不安定になってしまう懸念点があります。
近年では、AI開発を手掛ける多くの企業はデータセットの作成において、高品質なサービスを提供しており、簡単に発注することができるようになってきているため、LLM開発においては、人の手によるアノテーションを施すことでより精度の高いLLM開発につなげることができるでしょう。
まとめ
いかがでしたでしょうか。精度の高いLLMを個人や企業で開発するために必要なデータセットとはどのようなものか、収集方法や注意すべき点にについてお分かりいただけたと思います。
harBest(ハーベスト)では、業務効率化や自動化、DX推進の必要性を感じていてもなかなか踏み出せない、AI・LLM開発に不安を持つお客様に寄り添い、その一歩を踏み出すための課題設定からAI実装まで包括的なサポートをしております。
そしてAI開発において重要な教師データの作成には、弊社の多数のクラウドワーカーによる高品質なデータ作成とWEBでの発注による、スピーディーかつコストパフォーマンスの高いデータセットの準備が可能です。
AI開発につきまして下記よりお気軽にお問い合わせください。