評価:★★★★☆ (4.3 / 5)
📢 Amazonでの購入者の声を紹介します
【1】
ChatGPTの登場によりさまざまな技術が塗り替えられつつある昨今だが、2023年当時におけるTransformer技術の体系を素早く一冊で学べる。主に以下のTransformerの技術が実装を踏まえて学べる。(各実装はHuggingFaceのTransformerライブラリを使用して行なっている。Transformer自体のモデルの説明概要が数式を含めて述べられているがニューラルネットワーク技術の基礎を理解している必要がある。)Transformer:・感情分析:テキストから読み取れる感情を検出する文書分類のこと(ネガティブ、ポジティブ、中立)・自然言語推論:2つのテキストの論理関係を予測するタスク(含意、矛盾、中立)・意味的類似計算:2つのテキストが似ている度合いをスコアとして予測する・固有表現認識:テキストに含まれる固有表現を抽出するタスク・要約生成:比較的長い文章から短い要約を生成するタスク補助的技術:・文埋め込みモデル:SimCSE, BPR意味類似度計算などで毎回推論するとコストが高いため、あらかじめ文に対して評価したベクトル値を埋め込み、ベクトル値のみの比較で類似計算して処理を軽くする技術。インデックスを張ってさらに高速化もできる。最終的に、質疑応答アプリを作成する。(実装は、文書検索モデルで質疑内容に関する類似文を抽出し、それをChatGPTで回答文に加工生成する)全ての実装コードはGoogle Colabを使用した実装ファイルを提供してくれているため、検証がしやすい。(Colabアップデートによるバグの更新もあり)最終章のChatGPTと文書検索モデルを連携した質疑応答アプリは、Google Colabの無料枠では実行できない規模(課金必須)になっているので注意が必要。ChatGPTのAPI利用にも課金する実装となっている。初心者はニューラルネットワーク技術の基礎を事前に理解しておく必要があるかもしれないが、2023年時点でのトレンドを押さえるには良書だと感じた。----------以下内容メモ●1章:初めに自然言語処理:ニューラルネットワークを使った大規模言語モデルによる手法が標準的となる。transformerライブラリ:HuggingFace 2016年に創設された企業が開発したもの。社の他のサービスでライブラリやデータセットを無料で共有できるHuggingFace Hubの提供もしている。Transformerでできる自然言語処理・感情分析:テキストから読み取れる感情を検出する文書分類のこと(ネガティブ、ポジティブ、中立)・自然言語推論:2つのテキストの論理関係を予測するタスク(含意、矛盾、中立)・意味的類似計算:2つのテキストが似ている度合いをスコアとして予測する・固有表現認識:テキストに含まれる固有表現を抽出するタスク・要約生成:比較的長い文章から短い要約を生成するタスク単語埋め込みとニューラルネットワークの基礎:単語の意味をコンピュータに教える手法。従来は人手で辞書を作り理解させる>WordNetなどデメリット:専門用語、固有名詞、新語など全てをカバーするのは難しい。2013年:word2vecなど、単語の意味を表現したベクトルを大規模なテキストから学習するニューラルネットワークが出現。こうしたベクトルのことを、単語埋め込み、単語ベクトル、単語表現、などと呼ぶ。自然言語処理に用いるために構築されたテキストをコーパスと呼ぶ。word2vec:単語の意味は、周辺に出現する単語によって表わせると考える分布仮説に基づいて設計されている。周辺の単語が知らない単語の意味を表すことを裏付けている。単語のベクトルの空間上で、関連性の高い単語同士は近くに配置される。自己教師あり学習:入力から自動的に予測するラベルを生成して学習を行う方式。教師あり学習:人手でラベルを付与したデータセットを使って学習を行う。1.4:大規模言語モデルとは文脈:マウスでも、前後の文脈から動物のネズミか、PC機器のマウスか判断できる。また、似たような文章のニュアンスの違いを理解できる。>文脈化単語埋め込みとTransformerの発案>こうした事前学習した大規模なニューラルネットワークは、大規模言語モデル、PLM:Pre-Trained-Language-Model 事前学習済み言語モデルとも呼ばれるまた、事前学習されたモデルを下流タスクのデータセットで微調整することを、ファインチューニングと呼ぶ。ファインチューニングと転移学習の違い・ファインチューニング:下位層(低レベルな普遍的なおおまかな特徴のデータ)を固定し、上層(高レベルの具体的な特徴のデータ)の一部または全てを学習。事前学習させたモデルを、特化したいデータを元に再学習させて、モデルのパラメータを調整し、特定タスクに適用するモデルを生成すること。・転移学習:ファインチューニングは転移学習の一部。他のタスクで得た知識を他のタスクに適用させるアプローチ全体を指す。●2章:TRANSFORMERTransformer:2017年にgoogleが提案したニューラルネットワーク。当初は機械翻訳のモデルとして提案されたが、やがて大規模言語モデルを含む幅広いタスクに応用され、自然言語処理において2023年の執筆時点で標準的に利用されるニューラルネットワークとなる。Transfoermerの入力には、単語より細かい単位の「サブワード」や文字を使うことが一般的。>3.6章Transformerの種類:3種・エンコーダ・デコーダ:エンコーダ、デコーダで2種類の異なる入力を扱う・エンコーダのみ:入力に対する文脈化トークン埋め込みを出力するモデル・デコーダのみ:入力から次のトークを予測するモデルエンコーダ:L個のブロックで多段的に文脈情報を付与する。この多段的な処理によって、低い位置にある層では表層的に、中間にある層では文法的に、高い位置にある層では意味的に、と言う感じでより複雑で抽象的な文脈を捉えられるようになると考えられている。自己注意機構:トークンの重要度を加味しながら、文脈化を担う仕組みTransformerではキー、クエリ、バリューの3つの異なる埋め込みを計算するフィードフォワード層:順伝播型ニューラルネットワークと同じ構造入力された位置のベクトルのみに閉じて計算される活性化関数>初期はreLU、大規模言語モデルではG誤差線形ユニットが標準的に用いられている提案時のTransformerでは入力次元D=512に対して中間層の次元は4倍の2048が使われている。この結果フィードフォワード層に含まれるパラメータは、Transformer全体のパラメータの2/3を占める。残差結合:勾配消失、勾配爆発の問題を防ぐ。層正規化:過剰に大きい値によって訓練が不安定になるのを防ぐために、ベクトル値を正規化して対応する。ドロップアプト:訓練データセットに対して、モデルが過適合するのを防ぐための正規化の仕組み。依存しすぎないように、要素を欠落させる。エンコーダ・デコーダ:デコーダの一つ目は自己注意機構、2つ目は交差注意機構両方ともキー・クエリ・バリュー注意機構が使われる。デコーダのブロックの自己注意機構ではマスク処理が行われる。デコーダ:エンコーダ・デコーダ構成のデコーダから交差注意機構を除いた構成。●3章:大規模言語モデルの基礎Transformer3種の事前学習、ファインチューニングの説明。大規模言語モデルは、大規模コーパスに含まれるトークンを予測する学習を通じて訓練されている。・3.2 GPT(デコーダ):GPT: Generative Pre-trained Transformer 2018年OpenAIが提案。7000冊の書籍から作成した訓練コーパスを使い事前学習したもの。大規模なパラメータを含むtransformerを使った言語モデルを大規模なコーパスで訓練した大規模言語モデルの最も初期のモデル。仕組み:先行するトークン列から、次のトークンを予測する。ファインチューニング事前学習済みモデルの上部に追加され、モデルの出力を下流タスクに合わせて変換する層のことを「ヘッド(head)」とよぶ。・3.3 BERT、RoBERTa(エンコーダ):BERT 2018年googleが提唱RoBERTa 2019年Facebook が発表。デコーダの改良版。デコーダは先行するトークン列しか捉えられなかったが、後続するトークン列の双方から文脈を捉えられるように改良。事前学習マスク言語モデリング:トークンの穴埋めを行うタスク。先行するトークン列と、後続するトークン列の双方の文脈情報を用いて、隠したトークンを予測することで、双方向から文脈を捉える訓練をする。・3.4 T5(エンコーダ・デコーダ)T5 googleから発表。T5: Text to Text Transfer Transformerエンコーダ・デコーダ構成を採用した大規模言語モデル。エンコーダ・デコーダ構成の利点は、エンコーダによって双方の文脈情報を捉えられることと、デコーダによって自由にテキストで結果を生成できることの双方を活用できる。C4と呼ばれる750GBのウェブから抽出された大規模なコーパスが準備され、パラメータもBERT 、RoBERTaより30倍以上多い。要約、質問、応答、機械翻訳などに有効。エンコーダにテキストを入力してデコーダに結果をテキストで生成させる=text-to-text形式text-to-text形式のように、入力となるテキストなどの系列を別の系列に変換することを系列変換(sequence to sequence:seq2seq)と呼ぶ。タスクにあったモデルの選択の必要性:文章単位・トークン単位の分類など言語生成が不要なタスクにおいてはBERT RoBERTaの方が性能が高く、処理も早い。・3.5 多言語モデルここまで紹介してきたモデルは、提案時には英語のコーパスで事前学習が行われてたが、コーパスを他の言語に差し替えることで英語以外のモデルを構築できる。多言語モデルは、言語に依存しない表現を内部的に獲得していることが示唆されており、それを示す結果として言語横断転移学習ができることが知られて居る。例えば、英語の事例のみでファインチューニングした多言語モデルに日本語の事例を解かせることができる。世界の言語の中には、自然言語処理に使えるデータが稀少な言語が依然として多く、言語横断転移学習はその言語の課題を解決できる可能性を秘めている。モデルの学習には、翻訳データなどの言語間の対応を明示的に示したデータを用いていない。それにもかかわらず、モデルが言語の共通性を捉えることができる。異なる言語間に共通の文字が全く存在しない場合でも起こるため、モデルは言語の抽象的な構造の共通性を手がかりに、言語に依存しない内部表現を獲得して居ると考えらる。・3.6 トークナイゼーション語彙を作成する上での問題・低頻度な単語を大量に語彙に含めることで、訓練に使うコーパスにおける単語の頻度に大きな偏りが生まれ、性能に悪影響を及ぼす。・エンコーダの事前学習時、エンコーダ・デコーダまたはデコーダの訓練・推論時に必要な全ての語彙に対する確率計算のコストが増加する・単語埋め込み行列の容量が大きくなり、事前学習・ファインチューニングの際に必要なメモリ容量が増える。・語彙サイズを小さくすると語彙に含まれない単語は未知語となり、モデルで適切に扱うことができなくなる。これらの問題を踏まえて、大規模言語モデルで標準的に使われているのが単語と文字の中間の単位であるサブワード。サブワードによる分割では語彙のサイズをハイパーパラメータにすることで分割の粒度を自由に制御できる。方法:・バイト対符号化・WordPiece日本語の扱い:日本語、中国語、韓国語など単語が空白で区切られていない言語を扱う際には工夫が必要。MeCabという形態素解析器を使って単語分割を行った後にサブワード分割を行う。これによりサブワード分割が単語の境界を跨がずに行われる。●4章;大規模言語モデルの進展2023 OpenAI GPT-4(CHAT-GPT)など大規模言語モデルのパラメータ数、コーパス数の推移パラメータ数:2018 BERT 3.4億2019 GPT-2 15億2020 GPT-3 1750億2022 PaLM 5400億コーパス数:2018 BERT 30億2020 GPT-3 3000億2022 Chinchilla 1.4兆幅広い自然言語のタスクをファインチューニングなしに高性能に解けることを示したデコーダ構成のTransformer。モデルが大規模化することで性能が改善する創発的能力がある。モデルの大規模化に伴って、従来はファインチューニングをしなうと解けないと思われていた多くのタスクが、モデルのプロンプトと呼ばれるテキストを入力して、後続するテキストを予測するという単純な方法で解けることがわかってきた。プロンプトによる言語モデルの制御文脈内学習:one-shot学習:例示を一つ与えるfew-shot学習:例示を複数与えるzero-shot学習:例示を全く与えない大規模言語モデルが、どのような仕組みで例示から学習してタスクを解くのか、2023年時点では、詳しくわかっていない。多段階の推論(マルチステップ推論)の解き方。例:部屋に23個のりんごがあります。料理に20個使い、6個買い足したとき何個のりんごがありますか。(問いを解くのに、23−20=3と、3+6=9と言うように2段階で推論が必要なもの)複数の推論が必要な際に、推論過程の例示を与えるchain-of-through推論を用いると、性能が改善されることが報告されている。または、「ステップごとに推論しよう」と末尾に付与して回答を抽出するzero-shot chain-of-through推論も提案されている。このようなことから、大規模言語モデルを使うにあたっては、プロンプトの与え方を工夫することが重要・4.3 アライメントの必要性モデルの予測が人間や社会にとって理想的な挙動と一致するとは限らない有益で適切な挙動になるように調整することをアライメントとよぶ・4.4 指示チューニング指示を含んだプロンプトと理想的な出力テキストの組みで構成されるデータセットを使ったファインチューニングでアライメントを行う方法。>人手でコスト高い。・4.5 人間のフィードバックから強化学習人間の好みに対して直接最適化することでアライメントを行う。・4.6 ChatGPT大規模言語モデルを対話形式で操作する方法を採用。指示チューニングとRLHF(人間のフィードバックからの強化学習)を組み合わせた方法で学習。対話形式に対応するためのデータセットが新しく追加されている。学習方法:指示チューニングのデータセットとして、ユーザとモデルの模擬的な会話を含んだデータセットを人手で作成している。ユーザ、モデルのメッセージともに人手で作成。作成したデータセットをInstructGPTで用いたデータセットと結合し指示チューニングを行う。次に報酬モデルを訓練するために、人間とモデルとの会話を収集したデータセットを構築する。ここでは指示チューニングのデータセットと異なり、モデル側のメッセージは実際のモデルからの出力を使う。そして、このデータセットの中からモデル側のメッセージをランダムに選択し、同一の会話の文脈においていくつかの代わりとなるメッセージをモデルに生成させて、これらの優劣を順序づけすることで、報酬モデル用のデータセットを作成。そして報酬モデルのデータセット構築・訓練と強化学習を数回繰り返して最終的なモデルを学習する。●5章:大規模言語モデルのファインチューニングこの章ではエンコーダ構成の大規模言語モデルを使って解説。使用モデル:BERT・5.1日本語ベンチマーク:JGLUEデータセットとはモデルの学習や評価のためにまとめられたデータの集合で、基本的に次の3つのセット。・訓練セット・検証テスト・テストセットデータセットを分割しているのは、モデルの汎化性能を計測するため。未知データに対して発揮する性能を担保するため。JGLUEに含まれるタスクとデータセット:・文章分類トピック(ジャンル分類、経済、スポーツなど)、極性(レビュー文の肯定的、否定的分類)>SNS投稿を大規模に分析し、トピックを分類することで、世間でどのようなことが話題になっているかいち早く検知できる。>マーケティングに役立てられるMARC-ja:多言語商品レビューコーパスJCoLA:分布的な容認性判断能力を評価するためのデータセット・文ペア関係予測二つの文がどれだけ意味が近いかを表す意味的類似度判定、意味が合致、矛盾かの含意関係の判定JNLI:自然言語推論データセット:含意、矛盾、中立のラベルづけされたものJSTS:意味的類似度計算データセット:類似度スコア・質問応答与えられた質問に対する答えを出力するタスク。JCommonsenseQAは、多岐選択式質問応用のデータセット・5.2 感情分析モデルの実装MARC-jaのデータセットを用いて評価・5.3 感情分析モデルのエラー分析商品レビューで、文章内容はネガティブでありラベルもネガティブなのだが、「星4つ(最大評価星5つ)」と言う表現があるだけでポジティブの予測をしてしあう。つまり、予測のショートカットが行われてしまう。この場合は、データセットから「星〜個」などの表現を取り除く必要がある。・5.4 自然言語推論・意味的類似度計算・多岐選択式質問応用モデルの実装・自然言語推論データセット:JNLIを使用・意味的類似度計算データセット:JSTSを使用・多岐選択式質問応答データセット:JCOmmensenseQAを使用・5.5 メモリ効率の良いファインチューニング・自動混合制度演算16ビットと32ビットを使い分けることで、高精度かつ高効率な学習を実現計算時に16ビットを使って高速化、32ビットの情報も保持し、16ビットで表現できない場合は適宜32ビットで変換するデータも16ビットで保持できるようアンダーフローしないようにスケールし、パラメータ更新時など実データが必要な場合は32ビットに変換して計算・勾配累積バッチサイズを小さくすれば、前向き計算と誤差逆伝播の計算量が減るのでメモリ使用量を削減できる。小さなバッチサイズで計算した勾配を集約することで、メモリ使用量を抑えながら実質のバッチサイズを増やす手法・勾配チェックポインティング勾配のバッチサイズを増やしたいが、GPUのメモリが足りない時に役立つ手法前向き計算における途中の計算結果を間引くことでメモリ消費量を抑える。保持して居る近い計算結果(チェックポイント)から再計算して復元して対応する。・LoRAチューニングファインチューニング時には、パラメータごとに勾配値などの最適化に必要な情報をメモリ上に保持する必要がある。この時のメモリ消費量を抑えるために、更新するパラメータをごく少数にする。・5.6 日本語大規模言語モデルの比較BERTの他のモデルの紹介・LUKEwikipedieaからえらえるエンティティ情報を取り入れたモデルエンコーダ構成のTransformer・DeBERTa-v2BERTのアーキテクチャを改良したものMicrosoftの研究チームより提案●6章:固有表現認識テキストから特定の人名や地名などの固有表現を抽出する固有表現モデルを作成。*テキスト上で固有表現ラベルが重複しない場合、重複する場合などで抽出タスクが異なるので注意。重複するケース例:愛知県庁>愛知県庁=施設名、愛知県=地名、が単語に重複する。実応用上の多くの場合(特別な理由がない限り)、flat NER(固有表現ラベル重複なし)の採用で良い。本性では、flat NERに対して系列ラベリングアプローチによるBERTをベースとしたモデルを実装。データセット:wikipediaを用いた日本語の固有表現抽出データセット2.0を使用wikipedia記事中の文に対して、人手で8種類の固有表現ラベルが付与されたもの。データ前処理:テキストの正規化:異なる表現を統一するテキストのトークナイゼーション:サブワード単位でトークナイゼーションする文字列とトークン列のアライメント系列ラベリングのためのラベル作成評価指標適合率、再現率、これらの調和的平均であるF値で評価。・6.3固有表現認識モデルの実装BERTをベースとする。固有表現ラベルを分類するためのヘッドを加えたBERTをファインチューニングすることでモデルを作成。・6.4 アノテーションツールを用いたデータセット構築固有表現認識モデルの作成において、適切なデータセットが存在しなければ自前で構築する必要がある。アノテーションツールを用いて、テキストデータにラベルを付与することで固有表現認識データセットを構築する方法を解説。LabelStudioというツールを使って解説。●7章:要約生成比較的長い文章から重要な内容を含んだ短い要約を生成する>要約生成モデル出力形式、入力文書数、要約の目的に応じてタスクやアプローチが異なる。出力形式:・抽出型要約:入力テキストから要約に含めるべき重要な単語や句、文章を抽出抽出型では、本文で述べられていない事実の異なる内容を含んだり、文意を大きく取り違えることは少ない。モデル:BERTSUMExt・生成型要約:入力テキストをもとに、新しく要約を生成するエンコーダ・デコーダ構成の大規模言語モデルで実装エンコーダに長いテキストを入力し、デコーダで要約を生成欠点:事実を異なる要約を生成しやすい入力文書数:単一文章要約:入力テキストと要約が1対1で対応複数文書要約:複数の異なるレビュー集合の要約などクエリ指向:クエリ指向型要約:要約対象の文章と、着目したい情報を入力して要約を生成非クエリ指向型要約:クエリを指定しない一般的要約。ニュース記事からの見出し作成・7.4見出し生成モデルの実装T5モデルで実装●8章:文埋め込み文埋め込みモデルの必要性意味的類似度計算がBERT単体で行えるのであれば、文埋め込みモデルは不要では?しかし、BERT単体で意味類似度計算を行うことには、応用上、計算量の問題がある。FAQ検索を例にすると、FAQとして登録されている1万件の中から最も意味的類似度が高い質問を探す場合、BERTに入力し類似度計算する必要がある。つまり推論を1万回実施する必要がある。一方、文埋め込みモデルは、一つの文を入力として受け取り、ベクトルを出力として得ることができるので、FAQの1万件の質問に対してあらかじめ文埋め込みのベクトルを計算しておくことが可能。ユーザが入力した分のベクトルと、一万件のあらかじめ計算しておいたベクトル間での類似計算をすればいい。BERT推論より計算量が少なくて済む。さらに、最近傍探索ライブラリを用いてインデックス化することで検索を高速化できる。・8.3文埋め込みモデルモデル:SimCSE対照学習:ラベルづけがなされていない大量のデータの中から、互いに類似した事例のペアと異なる事例のペアを取り出し比較することでモデルの学習をする。正例ペアと負例ペアを構成する各事例をベクトルで表現し、正例ペアのベクトルは類似度が高くなるように(=ベクトルを近づける)、負例ペアのベクトルは類似度が低くなるように(=ベクトルを遠ざける)学習を行う。教師なしSimCSEラベルづけがされていない大量の文の集合を訓練セットとして用いるモデルはドロップアウトを有効にして訓練する。教師ありSimCSEラベル付きデータとして自然言語推論データセットを利用して、埋め込みモデル訓練をする。ラベル:含意、中立、矛盾・8.4.1最近傍探索ライブラリFaissベクトルの最近傍探索やクラスタリングを行うためのライブラリ。文字埋め込みのような高次元ベクトルを効率的にインデックス化し、クエリのベクトルに対して類似したベクトルを高速に検索できる。・8.4.3 類似文検索のウェブアプリ実装pythonのStreamlitライブラリHTMLやJavascriptの記述を必要とせず、pythonコードだけでウェブアプリを実装できる。●9章:質疑応答質疑応答システムの種類・オープンブック質問応答持ち込み可能試験みたいなもの。質問と与えられた情報源から回答を導き出す・クローズドブック質問対応知識源の知識を参照することなく質問への回答を行う大規模言語モデルに知識そのものを保持させる。ChatGPTを使って実装文書検索モデルで質問(入力内容)の検索を大量の文章集合から検索し、プロンプトからの解答書式指示に合わせた解答形式の生成にChatGPTを使用する。*文書検索モデル:BPR・9.4.2文書検索モデル・DPR質問とパッセージ(一定の長さを持ったテキストのこと)をエンコーダ(BERT)を用いて埋め込みに変換し、それらの内積の値が上位となるパッセージを検索するモデル。同じ類似度検索によるSimCSEとはアーキテクチャが異なる。デメリット:ベクトルインデックスのメモリコストが大きい・BPRDPRの手法を拡張し、パッセージの埋め込みをバイナリ化して計算することで、ベクトルインデックスのサイズを大幅に小さくし計算効率を向上させた手法以上。
【2】
大規模言語モデルの基礎とローカルLLMが解説された良書です。かなり技術的な内容であるが、様々アイデアでLLMを進歩させている足跡が読み取れます。現在進行系ゆえに、第三弾に期待します。
【3】
huggingfaceの使い方を覚えるのに最適な一冊かと思います使用環境はGooglecolaboをお勧めしますgpuの性能がイマイチな時はpeft使って近似してくださいただしpython初心者が読む本ではありません
【4】
Transformerの概要が数式レベルでわかるのが本書の利点だと思います。初級レベルのベクトルと行列に関する知識があれば分かった気にさせてくれるレベルまで、本書は噛み砕いてくれています。ただし、なぜ、それでモデルがうまく学習できるのか?については明快な解説が無かったのが残念です。
【5】
取り上げられるモデルがBERTとか、モデルの課題が感情分析とか、一昔前の自然言語処理分野の話題が主で、あまり役に立たなかった。【追記】2023年の言語処理学会で、黒橋京大教授は、ChatGPTの登場によって、「旧来の自然言語処理」、たとえばこの本の第7章のトピックである「要約生成」などは終わる、と述べておられます(youtubeで確認可能)。私がレビューで「古い」と書いたのは、この意味です。
【6】
よい書籍だと思いましたが、内容をきちんと読んだとは思えないレビューがたくさんついていて驚きました。私は、普段はとある企業で金融系のデータをいじっている門外漢ですが、特に問題なく読めました。内容については、Transformerの説明は非常にわかりやすく、LLMの日本語のトークナイゼーション、LLMにアライメントが必要な理由、指示チューニングとRLHFの比較あたりはとてもよく理解できました。論文も多数引用されていて親切です。LLMを使うだけでなく、原理を勉強したい人におすすめです。
【7】
本序盤の原理の理解ができる対象者の想定はかなり絞られていると思います。しかし、実装部分の話では HuggingFace のチュートリアルが読めるだけでは解決しない、日本語を扱う場合にはどうするか、の流れがあります。L1 L2 ノルムの処理入れないと、HF の例のままではスコアが振り切れるケースへの対応等もさらっと書かれていて役立ちました。ひと工夫、ふた工夫したら、実務で使えるシステムが造れました。
【8】
大規模言語モデルの基礎から新しい話題まで広範なトピックを丁寧に解説した良書です。特にTransformerから最近のLLMに関する説明は分かりやすく秀逸でした。後半ではtransformersの慣習にそった質の高いコードが提供されています。機械学習の基礎的な知識があり、大規模言語モデルの技術に入門したい人にはうってつけの書籍だと思います。初学者向けの入門書ではなく、先端技術としての大規模言語モデルへのしっかりした入門書です。基礎的な機械学習の知識なしに軽く読んでみたい人だと、そもそも読みすすめられないかもしれないので、注意してください。
※この記事は 2025年6月29日 時点の情報です