サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
developers.agirobots.com
本記事では、RWKVとよばれるモデルのアーキテクチャについて詳しく説明します。 はじめに 自然言語処理の分野において、Transformer[1]の登場以前に一般的に使用されてきたRNN[2]はいくつかの課題を抱えており、その課題を克服する新たな手法として、RNNとは完全に異なるアプローチを取るTransformerが登場しました。しかし、Transformerにも解決すべき問題が存在しています。そこで、これらのアプローチを結びつけて進化させていく必要が出てきました。 まず、RNNの利点と欠点を見てみましょう。RNNは、文章の長さにほとんど制約がなく、計算コストも比較的小さいという利点があります。しかし、以前の入力を正確に記憶することが難しく(長期依存性を捉えられない)、学習を高速化することも難しい(学習並列化が困難)という欠点も存在します。 一方、Transformerは長期依存性を捉え
近年、追加学習無しで新たなデータに対応できる学習方法、すなわち「ゼロショット学習[1]」への関心が高まっています。この興味深い進展は、自然言語処理(Natural Language Processing: NLP)の分野でゼロショット学習の可能性が見出されたことから始まりました。その代表的な成果としてGPT-3[2]が挙げられます。GPT-3は、大量のデータを元に事前学習され、未見のタスクに対してもプロンプトを通じて直ちに対応する能力を持っています。 それに対して、画像処理の分野では、ラベル付きの画像データセットを用いた従来の方法が一般的で、ゼロショット学習の適用はまだ幅広くは実現されていません。しかし、自然言語処理におけるゼロショット学習が可能となった理由として、大量のデータセットを生成しやすい環境があること、文章を扱っていることが考えられます。 この観点から、画像処理においてもゼロショ
近年、機械学習分野で大きな成果をあげているTransformer[1]において、その中核をなすScaled Dot-Product Attention[1]には、革新的な仕組みが備わっています。その仕組みとは、後で詳しく説明しますが、入力に応じて重みを動的に変えることが可能なニューラルネットワークで、これにより驚くほど広範囲で膨大な情報に対する適応性と表現力を実現することができます。本記事では、Scaled Dot-Product Attentionのこの仕組みとその利点について解説し、私なりの解釈を紹介できればと思います。 先に結論を簡単に まず、結論から説明すると、Scaled Dot-Product Attentionは、入力に基づいて重みを変えることが可能なニューラルネットワークという解釈が可能です。ただし、Scaled Dot-Product Attentionは学習パラメータを
Transformer[1]の核心となる仕組みであるAttentionは、入力シーケンス内の各トークン間の関連性に基づいて注意の計算を行います。それにより、Transformerは従来の系列処理において主流であったRNNの性能を凌駕する性能を実現し、更には画像処理などの領域でも大きな成果を上げることができました[2]。このように従来のモデルでは成し得なかったような成果を達成できる万能な仕組みであるAttentionですが、その計算コストは入力シーケンス長\(n\)に対して指数関数的に増加するという大きな課題を持ちます。つまり、扱えるシーケンスの長さは計算機のハードウェア性能に大きく影響され、ある程度のシーケンス長を扱うには、高い処理能力と大容量のメモリを持つ計算機が必要となります。そのため、如何にすればAttentionの計算コストを下げることができるのか、計算量を減少させられるかが研究さ
皆さんこんにちは。近年、画像生成AIやテキスト生成AIなどの多数の生成AIが注目を浴びています。そんなか、2022年の末から2023年の初めにかけて多くの世間を驚かせたテキスト生成AIであるChatGPTはまだ記憶に新しいでしょう。本記事では、そんなChatGPTの技術の元となっているGPTの元祖、GPT-1について解説していきます。 GPT-1の概要 GPT-1とは、OpenAIが2018年に公開した大規模言語モデル(LLM)です。Googleが2017年に発表したTransformerと呼ばれる機械学習モデルのデコーダ部分をベースにしたモデルで、BookCorpusと呼ばれる大規模なコーパスで事前学習されました。Transformerはエンコーダデコーダの形状をしており、その生成部分に該当するデコーダを事前学習しているため、Generative Pretrained Transform
皆さんはChatGPTの応答文に不満を持ったことはありませんか? 例えば、簡単な質問なのに間違える、思い通りの仕事をしてくれないなど様々あると思います。以下の例を見てください。 これは、算数の問題を解いてもらう前に、例題とその答えを記載したもので、その答えの記載内容の違いがChatGPTからの応答文にどのような影響を与えるかを試したものです。左側の例は答えのみを記載しもので、右側の例は解き方を含めて記載したものです。結果、左側は誤った解答を、右側は正しい解答を出力しました。 このようにChatGPTでは入力文章によって応答文の正確性が異なるという現象がみられます(厳密にはChatGPT以外のAIも同様)。ですので、思い通りの応答を得たければ、そのための工夫が必要になります。 世の中には、ChatGPTから高い性能を引き出すための文章を見つけようと様々試している人がいます。そのような作業をプ
皆さんこんにちは! 多くの方が1度は使ったことがあるであろうチャットAI、ChatGPT。従来のチャットAIからは想像もできない性能の高さを持ち、人間と会話する感覚で会話できることから大きな注目を浴びています。一方で、課題も明らかになっています。それは、人間なら気付くような単純なことでも、平気で間違った情報を答えるなど、内容の正確性や適切性に難がある点です。その為、ChatGPTの利用は、あくまでも補助的な位置づけに留めることが重要です。 とはいえ便利なものですので原理や今後の精度はどうなるのか気になりませんか? 今のままでは、その機能を活かしきれませんよね。ちょっともったいない気がしてしまいます。 今後、この課題は解決されるのでしょうか? 本記事では、ChatGPTの仕組みに踏み込んで原理を明らかにすることで、これらの課題が生じてしまう理由について知り、今後について考えていきたいと思いま
本記事では、FlexGenをDockerで使う方法を紹介します。 ※nvidia-docker2が導入済みの、DockerからGPUが使用できる環境でなければ実行できませんのでご注意ください。 FlexGenとは ライセンス:Apache-2.0 license FlexGenとは、自前のPCなど計算資源の小さいマシン上で、大規模言語モデル(Large Language Model: LLM)を動作させることを可能にする技術です。 FlexGenについては、既に概要を詳しく説明している記事が沢山出ていますので、ここでは説明を省略します。詳細は、リポジトリや論文で確認することができます。 論文:High throughput generative inference of large language models with a single gpu DockerでFlexGenを動作させる
本記事では、Transformerの基礎として、Multi-Head Attentionの仕組みを分かりやすく解説します。 本記事の構成は、はじめにTransformerおよびTransformer Blockについて紹介し、TransformerにおけるMulti-Head Attentionの重要性について説明します。その後に、Multi-Head Attentionがどのような仕組みで実現されているのかを説明します。本記事を読めばMulti-Head Attentionについて、概要から計算式に至るまで、ほぼ全てをご理解いただけると思います。 解説動画は以下になります。 Transformer Transformer[1]とは2017年に高精度な機械翻訳モデルとして登場した機械学習モデルです。Transformerが提案された論文のタイトルは「Attention Is All You
みなさんは、Transformerについてどのようなイメージを持っていますか?最近は、BERT、GPTなどのTransformerベースのモデルが目を見張るような成果をだしているので、それらを想像する ... Transformerとは Transformerとは、2017年に発表された論文「Attention Is All You Need」において提案された系列変換モデルです。 系列変換モデル 系列変換モデルとは系列から系列へ変換するモデルです。系列とは複数の値(やベクトル)があるときにその順序に意味があるデータのことで、身近な例をあげると気温や株価の変動などがあります。機械学習分野においては、自然言語処理において、活発に研究がされています。自然言語処理とは、私たちが話す言語、これを自然言語と言いますが、これを系列データとして扱って、例えば機械翻訳などを実現する研究分野です。最近では、
みなさんは、Transformerについてどのようなイメージを持っていますか? 最近は、BERT、GPTなどのTransformerベースのモデルが目を見張るような成果をだしているので、それらを想像する方が多いかと思います。これらはTransformerの発展形ですが、Transformerの起源のほう、即ちAttentionを想像された方もいるかもしれません。この記事で説明していくのは、Transformerの起源のAttention機構についてです。BERTやGPTについては、別の記事で解説できればと思います。 Transformerの論文タイトル「Attention Is All You Need」からTransformerの成功はAttention機構にあることが推測できると思いますが、その通りで、Attention機構なしにTransformerを語るのは難しいです。本記事では、
畳み込みニューラルネットワークと聞いて、画像処理を真っ先に思いつくのが普通だと思います。でも、実は別の分野でも大きな成果を出しています。今回扱う1次元畳み込みニューラルネットワークは自然言語処理などの時系列情報を認識する性能で再帰型ニューラルネットワークを凌いでいます。 そのため、今回は自身が1次元畳み込みニューラルネットワークについて学んだ結果をまとめつつ、記事として残したいと思います。もし、間違い等があったら教えていただけると大変助かります。 また、動画でも残していますので、以下にのせます。 畳み込みニューラルネットワークとは 畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)とは、主に画像認識の場で使用される深層ニューラルネットワークで、局所的受容野と重み共有という特徴を生かし、全結合ニューラルネットワークに比べて少ないパラメータ数で空
Word2VecやEmbedding層について自身の理解が曖昧だったので、学習がてら自身の考察を示しながらまとめました。 分散表現 名前など物理的な計測が不可能な記号集合をベクトルに対応付けたものを分散表現(distributed representation)といいます。この変換操作は、トークンをベクトル空間に埋め込む操作であることから埋め込み(embedding)ともいわれます(一般的に自然言語処理の分野でトークンは単語であるため、単語埋め込み(word embedding)と呼ぶことが多い)。 Word2Vec Word2Vecとは、WordをVectorに変換するという意味で分散表現そのものを指すと解釈できますが、より狭義でCBOWやSkip-gramの2つのモデルを指すのが一般的です。勉強会等で登壇者の説明を聞いたり自身が説明したりするときはWord2Vecが分散表現そのものを指
このページを最初にブックマークしてみませんか?
『developers.agirobots.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く