テキスト生成系(Transformer系)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[ニューラルネットワーク]]、[[画像処理とコンピュー...
--一般的なフツーの[[ニューラルネットワーク]]
---[[順伝播型ニューラルネットワーク(FNN)>ニューラルネッ...
---[[ディープニューラルネットワーク(DNN)>ニューラルネッ...
---[[畳み込みニューラルネットワーク(CNN)]]
--[[再帰型ニューラルネットワーク(RNN)]]
---[[長短期記憶ニューラルネットワーク(LSTM)]]
---[[RNN Encoder-Decoder(Sequence-to-Sequence)]]
--[[生成モデル>生成系AI(Generative AI)]]系の[[ニューラ...
---[[自己符号化器(AE:オートエンコーダ)]]
---[[言語処理(AI)]] -> テキスト生成系(Transformer系)
---[[敵対的生成ネットワーク(GAN)]]
*目次 [#r9bf8f41]
#contents
*概要 [#peeb9f3e]
テキスト生成系(Transformer系)の言語モデル(言語処理(AI...
*詳細 [#jbeb97e4]
**[[Transformer>言語処理(AI)#a5995dbe]] [#vfdc9368]
-その情報に注目スべきか判断して情報を処理するAttentionの...
-Self-Attention機構の重要性を示し、他の分野にも影響を与え...
-汎用性が高くコレを画像処理に応用したのが、Vision Transfo...
※ [[RNN Encoder-DecoderのAttention機構>RNN Encoder-Decode...
***アーキテクチャ [#n9209714]
-オートエンコーダ、Attention、[[全結合層>ニューラルネット...
-[[RNN Encoder-Decoder(Sequence-to-Sequence)]]を用いな...
--[[RNN>再帰型ニューラルネットワーク(RNN)]]も[[CNN>畳み...
--入力と出力の文章同士の広範囲な依存関係を捉えられる、
--[[Attention機構>RNN Encoder-Decoder(Sequence-to-Sequen...
-[[RNN Encoder-Decoder(Sequence-to-Sequence)]]の逐次処...
オートエンコーダの並列処理に変更して従来モデルの問題を解...
--[[Attention機構>RNN Encoder-Decoder(Sequence-to-Sequen...
--「並列化できない」「長期記憶ができない(大域的な特徴・...
---並列計算で高速な学習が可能になった。
---後半に行けばいくほど昔の記憶を維持するのが難しくなる問...
---Positional Encoding(位置エンコーディング)でベクトル...
***パフォーマンス [#nf643b19]
[[RNN Encoder-Decoder(Sequence-to-Sequence)]]系よりも早...
-処理が速い:並列化によって学習時間を大幅に短縮。
--データを逐次処理する必要がなく、
--並列化で訓練時間が圧倒的に削減でき
--ビッグデータで効率的に学習できる。
-精度が高い:英独翻訳タスクで従来モデルの最良結果を超える。
-汎用性が高い:汎用的で、大規模なモデルも構築可能
***タスクの概要と構造 [#a2df39c2]
-翻訳タスク~
スペイン語 → 英語
--Yo tengo gatos → I have cats
--...と、catsを予測するTransformer.
-入力と出力~
翻訳タスク(Yo tengo gatos → I have cats)
--入力
---Self-Attention:「Yo tengo gatos」
---Masked Self-Attention:「I have [cats]」※ []はMask
--出力
---次単語予測(BEAM search):「cats」を予想する。
---Decoderが通常のSeq2seqのように逐次的に単語を出力してい...
--以下の前処理が処理前に行われる。
---ストップワード削除済み原文
---Embeding:[[単語の分散表現>言語処理(AI)#md350799]]で...
---Positional Encoding:単語の順番情報を埋込。
--Encoderの出力を一気にDecoderに入れる。
-構造
|#ref(Transformer0.png,left,nowrap,イメージ,25%)|#ref(Tra...
|>|https://qiita.com/omiita/items/07e69aef6c156d23c538|
--Encoder~
文章を意味に変換する。
---Self-Attention([[Multi-head Attention>#f57890c2]])~
1文の単語だけを使って計算された単語間の照応関係を付加
||I|have|cats|
|I|0.88|0.10|0.02|
|have|0.08|0.80|0.12|
|cats|0.03|0.14|0.83|
---Position-Wise Feed-Forward Networks(PFFN)~
2層のDNN:FFN(x) = [[ReLU>ニューラルネットワーク#x80775f2...
--Decoder~
意味を文章に変換する。~
---Masked Self-Attention([[Multi-head Attention>#f57890c...
予想する単語の部分をマスクした文の単語だけを使って計算さ...
---Source-Target Attention([[Multi-head Attention>#f5789...
ここまでの出力をQueryに、Encoderの出力をKeyとValueにして~
Multi-Head AttentionでAttentionを計算し異なる時系列データ...
---Position-Wise Feed-Forward Networks(PFFN)~
2層のDNN:FFN(x) = [[ReLU>ニューラルネットワーク#x80775f2...
---[[全結合層>ニューラルネットワーク#i29bfc40]](元の次元...
***オートエンコーダ [#q4b04302]
-左半分がEncoder
--N=6層の[[Transformer Block>#r55ff880]]で構成されていて...
--各[[Transformer Block>#r55ff880]]層は2つのサブ層で構成...
---Self-Attention([[Multi-head Attention>#f57890c2]])層...
文脈の理解力が高いAttentionの進化版で複数箇所の重要な部分...
---Position-Wise Feed-Forward Networks層は...~
・入力はQと同サイズのトークン・ベクトルが並んだ文章で~
・Position-Wiseは各トークン毎(位置単位)に計算をすると言...
--それぞれのサブ層の後にはAdd&Normがある。
---Add:[[残差接続>畳み込みニューラルネットワーク(CNN)#...
---Norm:Layer Normalization(学習高速化の正規化)
-右半分がDecoder
--N=6層の[[Transformer Block>#r55ff880]]で構成されていて...
--各[[Transformer Block>#r55ff880]]層は2つのサブ層で構成...
--2つのサブ層の間にEncoderの出力を受け取る~
Source-Target Attention([[Multi-head Attention>#f57890c2...
|#ref(Transformer2.jpg,left,nowrap,イメージ,30%)|#ref(Tra...
|>|>|https://nlpillustration.tech/?p=2171|
***Transformer Block [#r55ff880]
Transformer ≒ Transformer Block
-[[RNNのAttention機構と同様に、Q、K、VからAttentionを計算...
コチラでは、後述の[[Multi-head Attention>#f57890c2]]と言...
-計算結果(Qと同サイズ)をQの[[Add&Norm(前述)>#q4b0430...
-計算結果をPosition-Wise Feed-Forward Networksに適用。
-さらに計算結果(入力と同サイズ)を[[Add&Norm(前述)>#q...
-最終的なTransformer Blockの出力とする。
|>|Transformer ≒ Transformer Block|h
|#ref(Transformer5.png,left,nowrap,イメージ,30%)|#ref(Tra...
|>|https://agirobots.com/multi-head-attention/|
***Multi-head Attention [#f57890c2]
-Multi-head Attention
--Single-Head Attention(Scaled Dot-Product AttentionとLi...
--獲得された学習パラメタを可視化すると並列に並んでいる各S...
--これは、後述のScaled Dot-Product AttentionのK、Vの値を...
|Single-Head Attention|Multi-head Attention|h
|#ref(Transformer6.png,left,nowrap,イメージ,30%)|#ref(Tra...
|>|Multi-head Attention内部で行われる計算|
|>|#ref(Transformer8.png,left,nowrap,イメージ,50%)|
|>|#ref(Transformer9.png,left,nowrap,イメージ,100%)|
|>|① 行列をかける。Q = K = V = Xなのでそれぞれを変形させ...
|>|② Scaled Dot-Product Attentionを行う(後述)。|
|>|③ Concatで横に繋げる(1/hにしたものをh倍にする)。|
|>|④ 行列Woをかける。|
|>|https://agirobots.com/multi-head-attention/|
-Single-Head Attention~
HeadとはLinear層*3とScaled Dot-Product Attention層*1の4つ...
--Linear層~
Scaled Dot-Product Attention層の直前に学習パラメタを持つL...
多種多様な特徴部分空間における注意表現を学習可能にする柔...
--Scaled Dot-Product Attention層
---内積に基づく注意計算を行うだけとなっていて内部に学習パ...
---スケール化内積注意と訳せるだけに、内積を利用したベクト...
|#ref(Transformer10.png,left,nowrap,イメージ,30%)|#ref(Tr...
|~|・Qは横ベクトルqの縦ベクトル&br;・Kは横ベクトルkの縦ベ...
|~|QをqにしてSingle-Head Attentionで考えると、qtKは、[[同...
|~|Attention(q, K, V)では、qとkiが似ていて場合 Pi≒1 他≒0...
|>|https://agirobots.com/multi-head-attention/|
-Concat+Linear層(前述の③、④)
--Concat
--Linear:活性化関数が恒等関数(なのでPosition-Wise Feed-...
***数式のポイントとベクトルの内容 [#t0872509]
-数式のポイント
--Xは縦ベクトルではなく横ベクトル、WXではなくXW(= tWtX)
--詰まる所、以下の様な事をやっているらしい。
|Attention(Scaled Dot-Product Attention)|K、Vの値を決め...
|#ref(Transformer19.png,left,nowrap,イメージ)|#ref(Transf...
|>|https://www.youtube.com/@AIcia_Solid|
-ベクトルの内容~
|文のベクトル|#ref(Transformer12.png,left,nowrap,イメージ...
|QKVのベクトル|#ref(Transformer13.png,left,nowrap,イメー...
|>|>|>|QKVから計算して得たCi(文脈を加味した単語ベクトル)|
|>|#ref(Transformer15.png,left,nowrap,イメージ,30%)|#ref(...
|>|>|>|並列に並んでいる各Single-Headが異なる注意表現を獲...
|>|>|>|#ref(Transformer18.png,left,nowrap,イメージ,70%)|
|>|>|>|https://agirobots.com/multi-head-attention/|
**[[GPT-n>言語処理(AI)#a1d46512]] [#k3df315f]
***アーキテクチャ [#f2949f1f]
-Encoderを持たず、[[Transformer>#vfdc9368]]のDecoderと似...
-[[Transformer>#vfdc9368]]のDecoder側、Masked Multi-Head ...
#ref(GPT1.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
-Token Embedding、Positional Embedding、Decoder型のTransf...
--Et + Ei
---Token Embedding(Et)
---Positional Embedding(%%Encoding%%)(Ei)
--Decoder型のTransformer Blockを12層
--出力層
---[[事前学習>#h85eed3a]]用の出力層
---[[ファイン・チューニング>#h85eed3a]]用の出力層
-入出力
--入力
---分類:Start - 文 - Extract
---NLI:Start - 文1 - Delimiter - 文2 - Extract
---Q&A:~
・Start - 文Q - Delimiter -文A1(選択肢)- Extract~
・...~
・Start - 文Q - Delimiter - 文An(選択肢)- Extract
--出力
---[[事前学習>#h85eed3a]]では次単語予測
---[[ファイン・チューニング>#h85eed3a]]ではタスク毎に異なる
***パフォーマンス [#i980de60]
-[[Transformer>#vfdc9368]]は凄い~
研究を除く実務では、なんでも[[Transformer>#vfdc9368]]を使...
--[[パラメタ、コーパスを増やして精度アップ>#e7163443]]
--[[多様なタスク>#g7bfeb60]]を1つのモデルで解いた。
--12 DataSet中、9つでSOTA~
((State-of-the-Art)現時点での最高/最良の性能)
-[[事前学習とファイン・チューニング>#h85eed3a]]は凄い~
学習コストが高い中で、コレが適切に機能した。
--GPT-3は、1回の学習に数億円の費用が掛かる。
--[[教師あり学習>機械学習(machine learning)#y3a9ef2a]]...
***タスクの概要と構造 [#g7bfeb60]
-得意なタスク~
--次単語予測、文章穴埋
--自然言語推論 (NLI) :2テキスト間の推論的関係の同定
--分類、意味、文章生成(翻訳、要約、対話生成、Q&A)
--計算(足し算・引き算)もできる。
--ソースコード生成、デザイン支援もできる。
-苦手なタスク~
文の意味を人間のように理解していない
--比較が苦手
--人間社会、物理現象の慣習や常識を認識、推論できない。
***[[事前学習>深層学習のテクニック#ebe9edcc]]と[[ファイン...
-[[事前学習>深層学習のテクニック#ebe9edcc]]
--[[サブタスクで言語を理解>言語処理(AI)#x5b7e667]]。
---過去の単語列から次の単語を予測([[教師なし学習>機械学...
---使用するDataSetは、BookCorpus、1B Word Benchmark
---この大規模なDataSetで100[[エポック>ニューラルネットワ...
--その後、僅かな[[教師あり学習>機械学習(machine learning...
-[[ファイン・チューニング>深層学習のテクニック#ea94272b]]~
少データ、少資源でOKのため、多くの応用が可能。
--最終層のみ取り替えて[[教師あり学習>機械学習(machine le...
--数例のデータしか必要としないので教師データの作成が楽
--学習も3[[エポック>ニューラルネットワーク(学習)#t183c...
--代替手段となるfew-shot学習は、学習を行っているわけでは...
巨大な汎用事前学習モデルの中の学習結果から求められている...
**[[BERT>言語処理(AI)#l0841a18]] [#q79e0d9a]
[[GPT-n>#k3df315f]]を少し改変しているので、高性能で汎用性...
-[[Google検索>AIの活用例#c22f6006]]
-Regal BERT(特定ドメイン=法律領域向けのBERTモデル
***アーキテクチャ [#v2f35742]
-[[Transformer>#vfdc9368]]のEncoderを双方向多層に積み重ね...
--双方向(文頭と文末)から学習することによって「文脈を読...
--膨大な量のテキストデータからテキストの単語の連なりの「...
--長く複雑な文章を読み取ることができ文脈を読むことが可能...
#ref(BERT.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
-Token / Segment / Positional Embedding、型のTransformer ...
--Et + (Ea or Eb) + Ei
---Token Embedding(Et)
---Segment Embedding(Ea or Eb)
---Positional Embedding(%%Encoding%%)(Ei)
--型のTransformer Blockを24層
--出力層~
[[事前学習>#paa9ee22]]と[[ファイン・チューニング>#paa9ee2...
-入出力
--入力~
1つ2つの文章を入力
---文1 : t1...tn
---文2 : t'1...t'm
---一文 : CLS 文1 SEP 文2 SEP
---二文 : CLS 文1 SEP SEP
--出力~
基本的には一文、C T1...TN TSEP T'SEP
---文単位のタスク(分類問題など)ではC(文章の意味ベクト...
---単語単位のタスク(固有表現抽出(NER)など)ではT1...TN...
***パフォーマンス [#iad2890f]
高性能で汎用性が高く応用し易い。
-[[Transformer>#vfdc9368]]ベースの[[GPT-n>#k3df315f]]ベース
--[[Transformer>#vfdc9368]]は凄い
--[[事前学習とファイン・チューニング>#paa9ee22]]は凄い
-上記に加えて双方向が凄い~
上位の層では意味・文脈に関する抽象化された情報を獲得
***タスクの概要と構造 [#g49727f0]
マスクされた単語の前後のテキストを使って単語を予測する。
-元々は機械翻訳で利用されていた。
-今は自然言語処理なら大概できる。
--質問応答(質問に対する回答を文書中から見つけてくる)
--文の比較(片方の文がもう一方の文の内容を含んでいるか)
***[[事前学習>深層学習のテクニック#ebe9edcc]]と[[ファイン...
基本的に[[GPTと事前学習とファイン・チューニング>#h85eed3a...
-[[事前学習>深層学習のテクニック#ebe9edcc]]に工夫をしてい...
--単語・文法を学習:15%マスクされた単語の予測を学習(MLM)
--文意・文脈を学習:連続する2文であるかないか(5:5)判断...
-チューニング~
実現したいタスクに応じた数百レベルの学習データを用意して[...
--[[事前学習>深層学習のテクニック#ebe9edcc]]結果を実際に...
--BERTの上にタスク依存の層を重ねる。
--数百件レベルの学習データで実施可能
リソースと時間が必要なので学習済みモデル(汎用[[事前学習>...
**GPTのバージョン [#e7163443]
2019年に[[GPT-2>#qd20bada]]、2020年に[[GPT-3>#s981eea4]]...
***GPT-2 [#qd20bada]
-概要
--【論文】Language models are unsupervised multitask lear...
特定のタスクに特化するのではなく、色々なタスクに応用でき...
できるだけ汎用的なモデルを構築する事を目指す。
--[[事前学習とファイン・チューニング>#h85eed3a]]が面倒な...
なんかすっごいの1つ作って、ソレで全部なんか出来ない?
--言語モデル(次単語予測)の可能性~
Commonsense reasoning(常識的な推論)を解ける。
--大モデル、大データならもっと凄いのではないか?~
結果、半分凄い、半分まだまだ。この方向性に大きな可能性(G...
-モデル
#ref(GPT2.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
--ほとんどGPT-1と同じ。
--タスクは翻訳ではなく次単語予測
--一番大きいもので[[Transformer Block>#r55ff880]]ブロック...
--Add&Normの位置が少々異なる。
---Add:残差接続の位置の変更
---Norm:Layer Normalizationの位置の変更
-データ
--WebTextコーパスを新規に開発
--量と質と幅(様々な話題と文脈)
--約800万のウェブページから抽出された高品質自然言語テキス...
--3つ以上のカルマを持つRedditの発信リンクからのWebページ...
-性能~
8タスク
--言語モデル(次単語予測)
---8つ中、7データセットでSoTA
---Perplexity予測性能:10-40
--Children's Book Test (CBT)~
10選択単語穴埋めタスクでSoTA
--LAMBADA Benchmark~
最後の単語を予測するタスクでSoTA
--Winograd Schema Challenge
---Commonsense reasoning(常識的な推論)でSoTA
---ポイントは教師データを使用していない点
--CoQA
---会話型質問応答システムを構築するための大規模なデータセ...
---TOEICのようなテストの質問と回答を最高性能に匹敵~
---同様に、ポイントは教師データを使用していない点
--Summary
---長文の要約を作る。
---長文+TL;DRを入力。
--Translate
---WMT-14の仏→英がBLEU:11.5(当時の最高は40ぐらい)
---ただしデータは英語のみで仏データが僅か10M程度しか混じ...
--QA~
1問1答はまったくSoTAに届いていないが、
一番小さなモデルで1%、一番大きなモデルで4%と、~
大モデル、大データならもっと凄いのではないか?と言う可能...
(実は、WebTextに対して[[未学習>機械学習(machine learnin...
***GPT-3 [#s981eea4]
-概要
--【論文】Language Models are Few-Shot Learners
--[[BERT>#q79e0d9a]]に比べてあまりにも巨大
--時代背景
---Scaling Law:大きなTransformerは強い。
---NLP & DL:~
・DL:数十万件のデータが必要~
・[[PT & FT>#h85eed3a]]:1,000件程度のデータで済む。~
・FS(Few-Shot):10件程度のデータで済む。~
-モデル~
[[GPT-2>#qd20bada]] + Sparse Transformer
--Sparse Transformer(Sparse Multi-Headed Attention)~
チェック・ポイント以前はチェック・ポイントのみ参照する。
#ref(SparseTransformer.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
--1750億(175B)のパラメタ([[GPT-2>#qd20bada]]:1.5B、T5...
--ベクトルの次元:12288([[GPT-2>#qd20bada]]:1600)
--Transformer Block層:96([[GPT-2>#qd20bada]]:48)
--Multi-head Attentionのヘッド数(nhead):96([[GPT-2>#q...
--Single-Head Attentionの次元?(dhead):128([[GPT-2>#q...
--トークン数:2048
--バッチサイズ:3.2M
--学習率:6e^-1
-データ
--約45TBの大規模データセットを前処理した~
約570GBテキストデータ([[GPT-2>#qd20bada]]:40GB)
---Common Crawl(をCleaningしたもの)
---Wikipedia
---Books1, Books2
---WebText([[GPT-2>#qd20bada]])
--上記中の300Bトークンで事前学習
-特性~
大規模言語モデル(LLM)の創発的な特性
--コンテキスト内学習
---手法はGPT-3の登場にともない一般に普及した大規模言語モ...
---与えられたコンテキスト内で情報を学習し、その学習を元に...
---何故かはよく解っていないので下の様な絵で説明されてたり...
#ref(In-context-Learning.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
--GPT-3におけるFew / One / Zero-Shotの説明~
・≒ コンテキスト内学習でファインチューニングと異なりパラ...
・Attention機構を変形して見方を変えると勾配降下法をシミュ...
・モデルがタスクを試みる前に例を処理できるようにするプロ...
---Few-Shot(FS)~
・推論時にタスクに関する説明と少量のデモンストレーション...
・パラメタを更新しない=デモを学習しない=デモを過学習し...
---One-Shot(1S)~
・Few-shotのデモンストレーションの数が1つであるケース~
・人が例示を見てタスクに取り組むという状況に近い
---Zero-Shot(0S)~
・推論時にはタスクに関する説明のみが与えられる。~
・デモンストレーションは全く与えられないケース
||[[一般的な扱い>E資格:試験対策#oa0d4921]]|GPT-3での扱い|h
|Few / One-Shot|少量の教師ありデータに基づく学習方法|タス...
|Zero-Shot|学習時に存在しないクラスのデータを扱う枠組み|...
-性能~
9タスク、得意と苦手がある。
--Language Model, Cloze, Continuation Tasks SOTA有り~
--Closed Book Question Answering SOTA有り
---関連文書から正解の可能性が高い文字列を抜き出すことによ...
[[関連文書を用いないで与えられる質問について何を知ってい...
---TriviaQA:T5 < 0S < 旧SOTA < 1S < FS
--Translation En SOTA有り~
---FS ≒ 教師なし SOTA < 教師あり SOTA
---非英語データは7%、英語に翻訳する方が精度が高い。
--Winggrad-Style Tasks SOTA有り~
--Common Sense Reasoning △~
--Reading Comprehension ◯☓~
--Super GLUE ◯☓~
単語は2つの文書で同じ使われ方をしているか?
--Natural Language Inference ☓~
2番目の文書は1番目の文章の賛成 / 反対 / 中立のどれか?
--Synthetic and Qualitative Tasks ◯☓~
---2桁の±が99-100%
---3-5桁の±、2桁の*、1桁の±, *, ()が20%
--News Article Response~
タイトル・サブタイトルから人間と区別できない文書を生成
-課題
--何故か2文間の比較を要するタスクが苦手
--文書生成で~
・単語単位の繰り返しは無いが。~
・文単位の繰り返しがある。~
・長文の一貫性に欠ける。
--双方向性~
双方向性は無いので文の後ろを考慮しない(コンテキストが読...
--Pre-Training dejective~
次単語予測の事前学習の精度はScaling Lawで上がるが~
Scaling Lawの頭打ちや実問題での性能(次単語予測以外の事前...
---人間から学ぶ
---強化学習でチューニング
---マルチ・モーダルでやる
--学習の効率化~
GPT-3は300Bトークンで学習するが、~
人間は生涯で0.3Bトークンの入力程度(1000倍の差)
--Few-Shotで何が起きる?~
・学習済みの内容を思い出している。~
・新しい能力を獲得している。
--解釈・制御~
DLと同じ(人間も直感では同じ)。
--バイアス~
データのバイアスを受け継いでいる。
***GPT-3.5 [#ceb96c7e]
-概要
-モデル
-データ
-性能
***GPT-4 [#d867c49d]
-概要
--...
--大規模化は頭打ち
-モデル
-データ
-性能
***[[OpenAI ChatGPT>#je04ed2e]] [#qd730547]
**サービス・ブランド [#s21cf33c]
***[[OpenAI]] [[ChatGPT]] [#je04ed2e]
-2022年11月に公開されたサービス・ブランド。当初は、GPT-3....
-GPT-3.5/GPT-4(GPT-4o)を用いた代表的なSaaS
***[[Microsoft Copilot>https://techinfoofmicrosofttech.os...
GPT-4系(OpenAI)ベースのAI。Office統合も進む。
***Google Gemini [#d5f51d4b]
GPTとは別系列で、PaLM → Geminiモデル。Workspace統合も進む。
***Grok / X [#y412990b]
GPTとは別系列で、X(旧Twitter)上で動作する、xAI独自モデ...
***Claude [#vc1e3d4c]
GPTとは別系列で、Claude 3系モデル。
***DeepSeek [#rfd6437b]
GPTとは別系列で、中国発。GPTに類似した構造だが独自開発。
**開発系 [#cf2e3279]
***[[OpenAI]] [#e7805c20]
-[[ChatGPT]]
-[[OpenAI API]]
-[[Library>OpenAI#w24acc85]]
***[[Azure OpenAI>https://techinfoofmicrosofttech.osscons...
-WebUIは無し
-Azure OpenAI API
-Azure AI サービス SDK
***[[OSSのLLM]] [#wb92f6a0]
***[[LLM系ツール]] [#qd8dd044]
**チューニング、拡張 [#j2f01d54]
***[[LLMのPE]] [#m3e13532]
PE(Prompt Engineering)
***[[LLMのRAG]] [#wf34bd1e]
RAG(Retrieval-Augmented Generation)
***[[LLMのFT]](ファインチューニング) [#s893da22]
Fine-tuning(FT)
***[[LLMエージェント]] [#u680eeaa]
*参考 [#m905c9a4]
-深層学習についてのレポート(LLM編)~
https://www.osscons.jp/joho108j0-537/#_537
-【図解】誰でもわかるTransformer入門!~
凄さ・仕組みをわかりやすく解説 - すえつぐのNLP&LLM~
https://nlpillustration.tech/?p=2171
-30分で完全理解するTransformerの世界~
https://zenn.dev/zenkigen_tech/articles/2023-01-shimizu
-【論文解説】Transformerを理解する | 楽しみながら理解する...
https://data-analytics.fun/2020/04/01/understanding-trans...
-自然言語処理 | DeepSquare~
https://deepsquare.jp/tag/language/
--自然言語処理の必須知識 Transformer を徹底解説!~
https://deepsquare.jp/2020/07/transformer/
--自然言語処理の必須知識 BERT を徹底解説!~
https://deepsquare.jp/2020/09/bert/
**[[ゼロつく2>言語処理(AI)#s380107d]] [#sb50cda5]
**Qiita [#z2720665]
-ざっくり理解する分散表現, Attention, Self Attention, Tra...
https://qiita.com/norihitoishida/items/2fead107792b504eaccf
-自然言語処理を理解しよう Seq2SeqからTransFormer(Attenti...
https://qiita.com/DeepTama/items/20b93ff8b8547428f662
-【深層学習】図で理解するAttention機構~
https://qiita.com/ps010/items/0bb2931b666fa602d0fc
-作って理解する Transformer / Attention #DeepLearning~
https://qiita.com/halhorn/items/c91497522be27bde17ce
-深層学習界の大前提Transformerの論文解説!~
https://qiita.com/omiita/items/07e69aef6c156d23c538
-ta2bonn~
https://qiita.com/ta2bonn/
--Self-Attention(+MultiHead)を図・ベクトル(行列)の両方...
https://qiita.com/ta2bonn/items/60601d18db57bd98d142
--Attention Is All You Need = Transformerをざっくり理解し...
https://qiita.com/ta2bonn/items/4ec687bc136a41c364ae
**YouTube [#r580a4a0]
***[[AIcia Solid Project>言語処理(AI)#x1ea3efe]] [#kd2d...
***[[AI教室 AIRS-Lab>深層学習(deep learning)#o49c1a2e]]...
***[[AGIRobots>深層学習(deep learning)#s1b4e09f]] [#ec7...
以下はブログ側
-Transformers
--[Transformers入門]日本語のセンチメント分析~
https://agirobots.com/transformers-sentiment-analysis/
--【Transformerの基礎】Multi-Head Attentionの仕組み~
https://agirobots.com/multi-head-attention/
--【詳説】Attention機構の起源から学ぶTransformer~
https://agirobots.com/attention-mechanism-transformer/
--Transformerについて本質を分かりやすく解説!~
https://agirobots.com/essence-transformer/
--Scaled Dot-Product Attentionの本当の凄さを考える~
https://agirobots.com/essence-of-scaled-dot-product-atten...
--強化学習のパラダイムシフト!Decision Transformerとは?~
https://agirobots.com/decision-transformer/
-GPT
--GPT-1の仕組みを解説!~
https://agirobots.com/gpt-1/
--【遂にGPT-4が発表】何が凄いのか解説!~
https://agirobots.com/gpt-4/
--ChatGPTの仕組みと課題について解説!~
https://agirobots.com/chatgpt-mechanism-and-problem/
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[ニューラルネットワーク]]、[[画像処理とコンピュー...
--一般的なフツーの[[ニューラルネットワーク]]
---[[順伝播型ニューラルネットワーク(FNN)>ニューラルネッ...
---[[ディープニューラルネットワーク(DNN)>ニューラルネッ...
---[[畳み込みニューラルネットワーク(CNN)]]
--[[再帰型ニューラルネットワーク(RNN)]]
---[[長短期記憶ニューラルネットワーク(LSTM)]]
---[[RNN Encoder-Decoder(Sequence-to-Sequence)]]
--[[生成モデル>生成系AI(Generative AI)]]系の[[ニューラ...
---[[自己符号化器(AE:オートエンコーダ)]]
---[[言語処理(AI)]] -> テキスト生成系(Transformer系)
---[[敵対的生成ネットワーク(GAN)]]
*目次 [#r9bf8f41]
#contents
*概要 [#peeb9f3e]
テキスト生成系(Transformer系)の言語モデル(言語処理(AI...
*詳細 [#jbeb97e4]
**[[Transformer>言語処理(AI)#a5995dbe]] [#vfdc9368]
-その情報に注目スべきか判断して情報を処理するAttentionの...
-Self-Attention機構の重要性を示し、他の分野にも影響を与え...
-汎用性が高くコレを画像処理に応用したのが、Vision Transfo...
※ [[RNN Encoder-DecoderのAttention機構>RNN Encoder-Decode...
***アーキテクチャ [#n9209714]
-オートエンコーダ、Attention、[[全結合層>ニューラルネット...
-[[RNN Encoder-Decoder(Sequence-to-Sequence)]]を用いな...
--[[RNN>再帰型ニューラルネットワーク(RNN)]]も[[CNN>畳み...
--入力と出力の文章同士の広範囲な依存関係を捉えられる、
--[[Attention機構>RNN Encoder-Decoder(Sequence-to-Sequen...
-[[RNN Encoder-Decoder(Sequence-to-Sequence)]]の逐次処...
オートエンコーダの並列処理に変更して従来モデルの問題を解...
--[[Attention機構>RNN Encoder-Decoder(Sequence-to-Sequen...
--「並列化できない」「長期記憶ができない(大域的な特徴・...
---並列計算で高速な学習が可能になった。
---後半に行けばいくほど昔の記憶を維持するのが難しくなる問...
---Positional Encoding(位置エンコーディング)でベクトル...
***パフォーマンス [#nf643b19]
[[RNN Encoder-Decoder(Sequence-to-Sequence)]]系よりも早...
-処理が速い:並列化によって学習時間を大幅に短縮。
--データを逐次処理する必要がなく、
--並列化で訓練時間が圧倒的に削減でき
--ビッグデータで効率的に学習できる。
-精度が高い:英独翻訳タスクで従来モデルの最良結果を超える。
-汎用性が高い:汎用的で、大規模なモデルも構築可能
***タスクの概要と構造 [#a2df39c2]
-翻訳タスク~
スペイン語 → 英語
--Yo tengo gatos → I have cats
--...と、catsを予測するTransformer.
-入力と出力~
翻訳タスク(Yo tengo gatos → I have cats)
--入力
---Self-Attention:「Yo tengo gatos」
---Masked Self-Attention:「I have [cats]」※ []はMask
--出力
---次単語予測(BEAM search):「cats」を予想する。
---Decoderが通常のSeq2seqのように逐次的に単語を出力してい...
--以下の前処理が処理前に行われる。
---ストップワード削除済み原文
---Embeding:[[単語の分散表現>言語処理(AI)#md350799]]で...
---Positional Encoding:単語の順番情報を埋込。
--Encoderの出力を一気にDecoderに入れる。
-構造
|#ref(Transformer0.png,left,nowrap,イメージ,25%)|#ref(Tra...
|>|https://qiita.com/omiita/items/07e69aef6c156d23c538|
--Encoder~
文章を意味に変換する。
---Self-Attention([[Multi-head Attention>#f57890c2]])~
1文の単語だけを使って計算された単語間の照応関係を付加
||I|have|cats|
|I|0.88|0.10|0.02|
|have|0.08|0.80|0.12|
|cats|0.03|0.14|0.83|
---Position-Wise Feed-Forward Networks(PFFN)~
2層のDNN:FFN(x) = [[ReLU>ニューラルネットワーク#x80775f2...
--Decoder~
意味を文章に変換する。~
---Masked Self-Attention([[Multi-head Attention>#f57890c...
予想する単語の部分をマスクした文の単語だけを使って計算さ...
---Source-Target Attention([[Multi-head Attention>#f5789...
ここまでの出力をQueryに、Encoderの出力をKeyとValueにして~
Multi-Head AttentionでAttentionを計算し異なる時系列データ...
---Position-Wise Feed-Forward Networks(PFFN)~
2層のDNN:FFN(x) = [[ReLU>ニューラルネットワーク#x80775f2...
---[[全結合層>ニューラルネットワーク#i29bfc40]](元の次元...
***オートエンコーダ [#q4b04302]
-左半分がEncoder
--N=6層の[[Transformer Block>#r55ff880]]で構成されていて...
--各[[Transformer Block>#r55ff880]]層は2つのサブ層で構成...
---Self-Attention([[Multi-head Attention>#f57890c2]])層...
文脈の理解力が高いAttentionの進化版で複数箇所の重要な部分...
---Position-Wise Feed-Forward Networks層は...~
・入力はQと同サイズのトークン・ベクトルが並んだ文章で~
・Position-Wiseは各トークン毎(位置単位)に計算をすると言...
--それぞれのサブ層の後にはAdd&Normがある。
---Add:[[残差接続>畳み込みニューラルネットワーク(CNN)#...
---Norm:Layer Normalization(学習高速化の正規化)
-右半分がDecoder
--N=6層の[[Transformer Block>#r55ff880]]で構成されていて...
--各[[Transformer Block>#r55ff880]]層は2つのサブ層で構成...
--2つのサブ層の間にEncoderの出力を受け取る~
Source-Target Attention([[Multi-head Attention>#f57890c2...
|#ref(Transformer2.jpg,left,nowrap,イメージ,30%)|#ref(Tra...
|>|>|https://nlpillustration.tech/?p=2171|
***Transformer Block [#r55ff880]
Transformer ≒ Transformer Block
-[[RNNのAttention機構と同様に、Q、K、VからAttentionを計算...
コチラでは、後述の[[Multi-head Attention>#f57890c2]]と言...
-計算結果(Qと同サイズ)をQの[[Add&Norm(前述)>#q4b0430...
-計算結果をPosition-Wise Feed-Forward Networksに適用。
-さらに計算結果(入力と同サイズ)を[[Add&Norm(前述)>#q...
-最終的なTransformer Blockの出力とする。
|>|Transformer ≒ Transformer Block|h
|#ref(Transformer5.png,left,nowrap,イメージ,30%)|#ref(Tra...
|>|https://agirobots.com/multi-head-attention/|
***Multi-head Attention [#f57890c2]
-Multi-head Attention
--Single-Head Attention(Scaled Dot-Product AttentionとLi...
--獲得された学習パラメタを可視化すると並列に並んでいる各S...
--これは、後述のScaled Dot-Product AttentionのK、Vの値を...
|Single-Head Attention|Multi-head Attention|h
|#ref(Transformer6.png,left,nowrap,イメージ,30%)|#ref(Tra...
|>|Multi-head Attention内部で行われる計算|
|>|#ref(Transformer8.png,left,nowrap,イメージ,50%)|
|>|#ref(Transformer9.png,left,nowrap,イメージ,100%)|
|>|① 行列をかける。Q = K = V = Xなのでそれぞれを変形させ...
|>|② Scaled Dot-Product Attentionを行う(後述)。|
|>|③ Concatで横に繋げる(1/hにしたものをh倍にする)。|
|>|④ 行列Woをかける。|
|>|https://agirobots.com/multi-head-attention/|
-Single-Head Attention~
HeadとはLinear層*3とScaled Dot-Product Attention層*1の4つ...
--Linear層~
Scaled Dot-Product Attention層の直前に学習パラメタを持つL...
多種多様な特徴部分空間における注意表現を学習可能にする柔...
--Scaled Dot-Product Attention層
---内積に基づく注意計算を行うだけとなっていて内部に学習パ...
---スケール化内積注意と訳せるだけに、内積を利用したベクト...
|#ref(Transformer10.png,left,nowrap,イメージ,30%)|#ref(Tr...
|~|・Qは横ベクトルqの縦ベクトル&br;・Kは横ベクトルkの縦ベ...
|~|QをqにしてSingle-Head Attentionで考えると、qtKは、[[同...
|~|Attention(q, K, V)では、qとkiが似ていて場合 Pi≒1 他≒0...
|>|https://agirobots.com/multi-head-attention/|
-Concat+Linear層(前述の③、④)
--Concat
--Linear:活性化関数が恒等関数(なのでPosition-Wise Feed-...
***数式のポイントとベクトルの内容 [#t0872509]
-数式のポイント
--Xは縦ベクトルではなく横ベクトル、WXではなくXW(= tWtX)
--詰まる所、以下の様な事をやっているらしい。
|Attention(Scaled Dot-Product Attention)|K、Vの値を決め...
|#ref(Transformer19.png,left,nowrap,イメージ)|#ref(Transf...
|>|https://www.youtube.com/@AIcia_Solid|
-ベクトルの内容~
|文のベクトル|#ref(Transformer12.png,left,nowrap,イメージ...
|QKVのベクトル|#ref(Transformer13.png,left,nowrap,イメー...
|>|>|>|QKVから計算して得たCi(文脈を加味した単語ベクトル)|
|>|#ref(Transformer15.png,left,nowrap,イメージ,30%)|#ref(...
|>|>|>|並列に並んでいる各Single-Headが異なる注意表現を獲...
|>|>|>|#ref(Transformer18.png,left,nowrap,イメージ,70%)|
|>|>|>|https://agirobots.com/multi-head-attention/|
**[[GPT-n>言語処理(AI)#a1d46512]] [#k3df315f]
***アーキテクチャ [#f2949f1f]
-Encoderを持たず、[[Transformer>#vfdc9368]]のDecoderと似...
-[[Transformer>#vfdc9368]]のDecoder側、Masked Multi-Head ...
#ref(GPT1.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
-Token Embedding、Positional Embedding、Decoder型のTransf...
--Et + Ei
---Token Embedding(Et)
---Positional Embedding(%%Encoding%%)(Ei)
--Decoder型のTransformer Blockを12層
--出力層
---[[事前学習>#h85eed3a]]用の出力層
---[[ファイン・チューニング>#h85eed3a]]用の出力層
-入出力
--入力
---分類:Start - 文 - Extract
---NLI:Start - 文1 - Delimiter - 文2 - Extract
---Q&A:~
・Start - 文Q - Delimiter -文A1(選択肢)- Extract~
・...~
・Start - 文Q - Delimiter - 文An(選択肢)- Extract
--出力
---[[事前学習>#h85eed3a]]では次単語予測
---[[ファイン・チューニング>#h85eed3a]]ではタスク毎に異なる
***パフォーマンス [#i980de60]
-[[Transformer>#vfdc9368]]は凄い~
研究を除く実務では、なんでも[[Transformer>#vfdc9368]]を使...
--[[パラメタ、コーパスを増やして精度アップ>#e7163443]]
--[[多様なタスク>#g7bfeb60]]を1つのモデルで解いた。
--12 DataSet中、9つでSOTA~
((State-of-the-Art)現時点での最高/最良の性能)
-[[事前学習とファイン・チューニング>#h85eed3a]]は凄い~
学習コストが高い中で、コレが適切に機能した。
--GPT-3は、1回の学習に数億円の費用が掛かる。
--[[教師あり学習>機械学習(machine learning)#y3a9ef2a]]...
***タスクの概要と構造 [#g7bfeb60]
-得意なタスク~
--次単語予測、文章穴埋
--自然言語推論 (NLI) :2テキスト間の推論的関係の同定
--分類、意味、文章生成(翻訳、要約、対話生成、Q&A)
--計算(足し算・引き算)もできる。
--ソースコード生成、デザイン支援もできる。
-苦手なタスク~
文の意味を人間のように理解していない
--比較が苦手
--人間社会、物理現象の慣習や常識を認識、推論できない。
***[[事前学習>深層学習のテクニック#ebe9edcc]]と[[ファイン...
-[[事前学習>深層学習のテクニック#ebe9edcc]]
--[[サブタスクで言語を理解>言語処理(AI)#x5b7e667]]。
---過去の単語列から次の単語を予測([[教師なし学習>機械学...
---使用するDataSetは、BookCorpus、1B Word Benchmark
---この大規模なDataSetで100[[エポック>ニューラルネットワ...
--その後、僅かな[[教師あり学習>機械学習(machine learning...
-[[ファイン・チューニング>深層学習のテクニック#ea94272b]]~
少データ、少資源でOKのため、多くの応用が可能。
--最終層のみ取り替えて[[教師あり学習>機械学習(machine le...
--数例のデータしか必要としないので教師データの作成が楽
--学習も3[[エポック>ニューラルネットワーク(学習)#t183c...
--代替手段となるfew-shot学習は、学習を行っているわけでは...
巨大な汎用事前学習モデルの中の学習結果から求められている...
**[[BERT>言語処理(AI)#l0841a18]] [#q79e0d9a]
[[GPT-n>#k3df315f]]を少し改変しているので、高性能で汎用性...
-[[Google検索>AIの活用例#c22f6006]]
-Regal BERT(特定ドメイン=法律領域向けのBERTモデル
***アーキテクチャ [#v2f35742]
-[[Transformer>#vfdc9368]]のEncoderを双方向多層に積み重ね...
--双方向(文頭と文末)から学習することによって「文脈を読...
--膨大な量のテキストデータからテキストの単語の連なりの「...
--長く複雑な文章を読み取ることができ文脈を読むことが可能...
#ref(BERT.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
-Token / Segment / Positional Embedding、型のTransformer ...
--Et + (Ea or Eb) + Ei
---Token Embedding(Et)
---Segment Embedding(Ea or Eb)
---Positional Embedding(%%Encoding%%)(Ei)
--型のTransformer Blockを24層
--出力層~
[[事前学習>#paa9ee22]]と[[ファイン・チューニング>#paa9ee2...
-入出力
--入力~
1つ2つの文章を入力
---文1 : t1...tn
---文2 : t'1...t'm
---一文 : CLS 文1 SEP 文2 SEP
---二文 : CLS 文1 SEP SEP
--出力~
基本的には一文、C T1...TN TSEP T'SEP
---文単位のタスク(分類問題など)ではC(文章の意味ベクト...
---単語単位のタスク(固有表現抽出(NER)など)ではT1...TN...
***パフォーマンス [#iad2890f]
高性能で汎用性が高く応用し易い。
-[[Transformer>#vfdc9368]]ベースの[[GPT-n>#k3df315f]]ベース
--[[Transformer>#vfdc9368]]は凄い
--[[事前学習とファイン・チューニング>#paa9ee22]]は凄い
-上記に加えて双方向が凄い~
上位の層では意味・文脈に関する抽象化された情報を獲得
***タスクの概要と構造 [#g49727f0]
マスクされた単語の前後のテキストを使って単語を予測する。
-元々は機械翻訳で利用されていた。
-今は自然言語処理なら大概できる。
--質問応答(質問に対する回答を文書中から見つけてくる)
--文の比較(片方の文がもう一方の文の内容を含んでいるか)
***[[事前学習>深層学習のテクニック#ebe9edcc]]と[[ファイン...
基本的に[[GPTと事前学習とファイン・チューニング>#h85eed3a...
-[[事前学習>深層学習のテクニック#ebe9edcc]]に工夫をしてい...
--単語・文法を学習:15%マスクされた単語の予測を学習(MLM)
--文意・文脈を学習:連続する2文であるかないか(5:5)判断...
-チューニング~
実現したいタスクに応じた数百レベルの学習データを用意して[...
--[[事前学習>深層学習のテクニック#ebe9edcc]]結果を実際に...
--BERTの上にタスク依存の層を重ねる。
--数百件レベルの学習データで実施可能
リソースと時間が必要なので学習済みモデル(汎用[[事前学習>...
**GPTのバージョン [#e7163443]
2019年に[[GPT-2>#qd20bada]]、2020年に[[GPT-3>#s981eea4]]...
***GPT-2 [#qd20bada]
-概要
--【論文】Language models are unsupervised multitask lear...
特定のタスクに特化するのではなく、色々なタスクに応用でき...
できるだけ汎用的なモデルを構築する事を目指す。
--[[事前学習とファイン・チューニング>#h85eed3a]]が面倒な...
なんかすっごいの1つ作って、ソレで全部なんか出来ない?
--言語モデル(次単語予測)の可能性~
Commonsense reasoning(常識的な推論)を解ける。
--大モデル、大データならもっと凄いのではないか?~
結果、半分凄い、半分まだまだ。この方向性に大きな可能性(G...
-モデル
#ref(GPT2.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
--ほとんどGPT-1と同じ。
--タスクは翻訳ではなく次単語予測
--一番大きいもので[[Transformer Block>#r55ff880]]ブロック...
--Add&Normの位置が少々異なる。
---Add:残差接続の位置の変更
---Norm:Layer Normalizationの位置の変更
-データ
--WebTextコーパスを新規に開発
--量と質と幅(様々な話題と文脈)
--約800万のウェブページから抽出された高品質自然言語テキス...
--3つ以上のカルマを持つRedditの発信リンクからのWebページ...
-性能~
8タスク
--言語モデル(次単語予測)
---8つ中、7データセットでSoTA
---Perplexity予測性能:10-40
--Children's Book Test (CBT)~
10選択単語穴埋めタスクでSoTA
--LAMBADA Benchmark~
最後の単語を予測するタスクでSoTA
--Winograd Schema Challenge
---Commonsense reasoning(常識的な推論)でSoTA
---ポイントは教師データを使用していない点
--CoQA
---会話型質問応答システムを構築するための大規模なデータセ...
---TOEICのようなテストの質問と回答を最高性能に匹敵~
---同様に、ポイントは教師データを使用していない点
--Summary
---長文の要約を作る。
---長文+TL;DRを入力。
--Translate
---WMT-14の仏→英がBLEU:11.5(当時の最高は40ぐらい)
---ただしデータは英語のみで仏データが僅か10M程度しか混じ...
--QA~
1問1答はまったくSoTAに届いていないが、
一番小さなモデルで1%、一番大きなモデルで4%と、~
大モデル、大データならもっと凄いのではないか?と言う可能...
(実は、WebTextに対して[[未学習>機械学習(machine learnin...
***GPT-3 [#s981eea4]
-概要
--【論文】Language Models are Few-Shot Learners
--[[BERT>#q79e0d9a]]に比べてあまりにも巨大
--時代背景
---Scaling Law:大きなTransformerは強い。
---NLP & DL:~
・DL:数十万件のデータが必要~
・[[PT & FT>#h85eed3a]]:1,000件程度のデータで済む。~
・FS(Few-Shot):10件程度のデータで済む。~
-モデル~
[[GPT-2>#qd20bada]] + Sparse Transformer
--Sparse Transformer(Sparse Multi-Headed Attention)~
チェック・ポイント以前はチェック・ポイントのみ参照する。
#ref(SparseTransformer.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
--1750億(175B)のパラメタ([[GPT-2>#qd20bada]]:1.5B、T5...
--ベクトルの次元:12288([[GPT-2>#qd20bada]]:1600)
--Transformer Block層:96([[GPT-2>#qd20bada]]:48)
--Multi-head Attentionのヘッド数(nhead):96([[GPT-2>#q...
--Single-Head Attentionの次元?(dhead):128([[GPT-2>#q...
--トークン数:2048
--バッチサイズ:3.2M
--学習率:6e^-1
-データ
--約45TBの大規模データセットを前処理した~
約570GBテキストデータ([[GPT-2>#qd20bada]]:40GB)
---Common Crawl(をCleaningしたもの)
---Wikipedia
---Books1, Books2
---WebText([[GPT-2>#qd20bada]])
--上記中の300Bトークンで事前学習
-特性~
大規模言語モデル(LLM)の創発的な特性
--コンテキスト内学習
---手法はGPT-3の登場にともない一般に普及した大規模言語モ...
---与えられたコンテキスト内で情報を学習し、その学習を元に...
---何故かはよく解っていないので下の様な絵で説明されてたり...
#ref(In-context-Learning.png,left,nowrap,イメージ)
https://www.youtube.com/@AIcia_Solid
--GPT-3におけるFew / One / Zero-Shotの説明~
・≒ コンテキスト内学習でファインチューニングと異なりパラ...
・Attention機構を変形して見方を変えると勾配降下法をシミュ...
・モデルがタスクを試みる前に例を処理できるようにするプロ...
---Few-Shot(FS)~
・推論時にタスクに関する説明と少量のデモンストレーション...
・パラメタを更新しない=デモを学習しない=デモを過学習し...
---One-Shot(1S)~
・Few-shotのデモンストレーションの数が1つであるケース~
・人が例示を見てタスクに取り組むという状況に近い
---Zero-Shot(0S)~
・推論時にはタスクに関する説明のみが与えられる。~
・デモンストレーションは全く与えられないケース
||[[一般的な扱い>E資格:試験対策#oa0d4921]]|GPT-3での扱い|h
|Few / One-Shot|少量の教師ありデータに基づく学習方法|タス...
|Zero-Shot|学習時に存在しないクラスのデータを扱う枠組み|...
-性能~
9タスク、得意と苦手がある。
--Language Model, Cloze, Continuation Tasks SOTA有り~
--Closed Book Question Answering SOTA有り
---関連文書から正解の可能性が高い文字列を抜き出すことによ...
[[関連文書を用いないで与えられる質問について何を知ってい...
---TriviaQA:T5 < 0S < 旧SOTA < 1S < FS
--Translation En SOTA有り~
---FS ≒ 教師なし SOTA < 教師あり SOTA
---非英語データは7%、英語に翻訳する方が精度が高い。
--Winggrad-Style Tasks SOTA有り~
--Common Sense Reasoning △~
--Reading Comprehension ◯☓~
--Super GLUE ◯☓~
単語は2つの文書で同じ使われ方をしているか?
--Natural Language Inference ☓~
2番目の文書は1番目の文章の賛成 / 反対 / 中立のどれか?
--Synthetic and Qualitative Tasks ◯☓~
---2桁の±が99-100%
---3-5桁の±、2桁の*、1桁の±, *, ()が20%
--News Article Response~
タイトル・サブタイトルから人間と区別できない文書を生成
-課題
--何故か2文間の比較を要するタスクが苦手
--文書生成で~
・単語単位の繰り返しは無いが。~
・文単位の繰り返しがある。~
・長文の一貫性に欠ける。
--双方向性~
双方向性は無いので文の後ろを考慮しない(コンテキストが読...
--Pre-Training dejective~
次単語予測の事前学習の精度はScaling Lawで上がるが~
Scaling Lawの頭打ちや実問題での性能(次単語予測以外の事前...
---人間から学ぶ
---強化学習でチューニング
---マルチ・モーダルでやる
--学習の効率化~
GPT-3は300Bトークンで学習するが、~
人間は生涯で0.3Bトークンの入力程度(1000倍の差)
--Few-Shotで何が起きる?~
・学習済みの内容を思い出している。~
・新しい能力を獲得している。
--解釈・制御~
DLと同じ(人間も直感では同じ)。
--バイアス~
データのバイアスを受け継いでいる。
***GPT-3.5 [#ceb96c7e]
-概要
-モデル
-データ
-性能
***GPT-4 [#d867c49d]
-概要
--...
--大規模化は頭打ち
-モデル
-データ
-性能
***[[OpenAI ChatGPT>#je04ed2e]] [#qd730547]
**サービス・ブランド [#s21cf33c]
***[[OpenAI]] [[ChatGPT]] [#je04ed2e]
-2022年11月に公開されたサービス・ブランド。当初は、GPT-3....
-GPT-3.5/GPT-4(GPT-4o)を用いた代表的なSaaS
***[[Microsoft Copilot>https://techinfoofmicrosofttech.os...
GPT-4系(OpenAI)ベースのAI。Office統合も進む。
***Google Gemini [#d5f51d4b]
GPTとは別系列で、PaLM → Geminiモデル。Workspace統合も進む。
***Grok / X [#y412990b]
GPTとは別系列で、X(旧Twitter)上で動作する、xAI独自モデ...
***Claude [#vc1e3d4c]
GPTとは別系列で、Claude 3系モデル。
***DeepSeek [#rfd6437b]
GPTとは別系列で、中国発。GPTに類似した構造だが独自開発。
**開発系 [#cf2e3279]
***[[OpenAI]] [#e7805c20]
-[[ChatGPT]]
-[[OpenAI API]]
-[[Library>OpenAI#w24acc85]]
***[[Azure OpenAI>https://techinfoofmicrosofttech.osscons...
-WebUIは無し
-Azure OpenAI API
-Azure AI サービス SDK
***[[OSSのLLM]] [#wb92f6a0]
***[[LLM系ツール]] [#qd8dd044]
**チューニング、拡張 [#j2f01d54]
***[[LLMのPE]] [#m3e13532]
PE(Prompt Engineering)
***[[LLMのRAG]] [#wf34bd1e]
RAG(Retrieval-Augmented Generation)
***[[LLMのFT]](ファインチューニング) [#s893da22]
Fine-tuning(FT)
***[[LLMエージェント]] [#u680eeaa]
*参考 [#m905c9a4]
-深層学習についてのレポート(LLM編)~
https://www.osscons.jp/joho108j0-537/#_537
-【図解】誰でもわかるTransformer入門!~
凄さ・仕組みをわかりやすく解説 - すえつぐのNLP&LLM~
https://nlpillustration.tech/?p=2171
-30分で完全理解するTransformerの世界~
https://zenn.dev/zenkigen_tech/articles/2023-01-shimizu
-【論文解説】Transformerを理解する | 楽しみながら理解する...
https://data-analytics.fun/2020/04/01/understanding-trans...
-自然言語処理 | DeepSquare~
https://deepsquare.jp/tag/language/
--自然言語処理の必須知識 Transformer を徹底解説!~
https://deepsquare.jp/2020/07/transformer/
--自然言語処理の必須知識 BERT を徹底解説!~
https://deepsquare.jp/2020/09/bert/
**[[ゼロつく2>言語処理(AI)#s380107d]] [#sb50cda5]
**Qiita [#z2720665]
-ざっくり理解する分散表現, Attention, Self Attention, Tra...
https://qiita.com/norihitoishida/items/2fead107792b504eaccf
-自然言語処理を理解しよう Seq2SeqからTransFormer(Attenti...
https://qiita.com/DeepTama/items/20b93ff8b8547428f662
-【深層学習】図で理解するAttention機構~
https://qiita.com/ps010/items/0bb2931b666fa602d0fc
-作って理解する Transformer / Attention #DeepLearning~
https://qiita.com/halhorn/items/c91497522be27bde17ce
-深層学習界の大前提Transformerの論文解説!~
https://qiita.com/omiita/items/07e69aef6c156d23c538
-ta2bonn~
https://qiita.com/ta2bonn/
--Self-Attention(+MultiHead)を図・ベクトル(行列)の両方...
https://qiita.com/ta2bonn/items/60601d18db57bd98d142
--Attention Is All You Need = Transformerをざっくり理解し...
https://qiita.com/ta2bonn/items/4ec687bc136a41c364ae
**YouTube [#r580a4a0]
***[[AIcia Solid Project>言語処理(AI)#x1ea3efe]] [#kd2d...
***[[AI教室 AIRS-Lab>深層学習(deep learning)#o49c1a2e]]...
***[[AGIRobots>深層学習(deep learning)#s1b4e09f]] [#ec7...
以下はブログ側
-Transformers
--[Transformers入門]日本語のセンチメント分析~
https://agirobots.com/transformers-sentiment-analysis/
--【Transformerの基礎】Multi-Head Attentionの仕組み~
https://agirobots.com/multi-head-attention/
--【詳説】Attention機構の起源から学ぶTransformer~
https://agirobots.com/attention-mechanism-transformer/
--Transformerについて本質を分かりやすく解説!~
https://agirobots.com/essence-transformer/
--Scaled Dot-Product Attentionの本当の凄さを考える~
https://agirobots.com/essence-of-scaled-dot-product-atten...
--強化学習のパラダイムシフト!Decision Transformerとは?~
https://agirobots.com/decision-transformer/
-GPT
--GPT-1の仕組みを解説!~
https://agirobots.com/gpt-1/
--【遂にGPT-4が発表】何が凄いのか解説!~
https://agirobots.com/gpt-4/
--ChatGPTの仕組みと課題について解説!~
https://agirobots.com/chatgpt-mechanism-and-problem/
ページ名: