関連リンク Byte Latent Transformer: Patches Scale Better Than Tokens 大規模言語モデル(LLM)の多くは、テキストを処理する際に、文章を「トークン」と呼ばれる単語や文字のまとまりに区切ります。この論文では、そういった事前準備としての「トークン化」を行わず、テキストの最小単位である「バイト」レベルで直接処理する新しい技術、「Byte Latent Transformer (BLT)」が提案されています。 BLTのポイントは、バイト列を固定長のトークンとして扱うのではなく、「パッチ」という単位で扱うことです。このパッチのサイズが特徴的で、データの内容に応じて自動的に長さを変えます。例えば、次に続くバイトが簡単に予測できるような、パターン化された情報が多い部分ではパッチを長くし、予測が難しい複雑な情報が多い部分ではパッチを短くするといった具合です。これは、次に予測すべきバイトの「予測しにくさ」を示す情報エントロピーに基づいて行われます。 このようにパッチのサイズを動的に変えることで、モデルは計算リソースを効率的に割り当てることができ、結果として推論(モデルを使って新しいテキストなどを生成する処理)の効率が向上します。また、特定のトークンセットに縛られないため、より多様なデータに対応しやすくなる(頑健性が高まる)と考えられます。 研究では、最大80億パラメータを持つBLTモデルを膨大なデータ(4兆バイト)で学習させ、その有効性を検証しました。実験から、トークン化なしで生バイトから学習できること、そして同じ計算コストで比較した場合、従来のトークンベースのモデルよりも性能を効率的に向上させられる(スケーリング性能が良い)ことが示されました。 この技術は、従来のLLMの仕組みに一石を投じるものであり、将来的にテキストだけでなく、バイト列で表現可能なあらゆる種類のデータ(プログラムコード、もしかすると画像や音声など)を効率的に扱えるようになる可能性を秘めています。LLMの基盤技術の進化として注目に値する研究です。 引用元: https://arxiv.org/abs/2412.09871 LLMフレームワークのセキュリティリスク - LangChain, Haystack, LlamaIndex等の脆弱性事例に学ぶ この記事は、近年普及しているLLM(大規模言語モデル)を使ったアプリケーション開発を効率化する「LLMフレームワーク」に潜むセキュリティリスクと対策について、新人エンジニア向けに分かりやすく解説しています。 LangChainやLlamaIndexといったLLMフレームワークは非常に便利ですが、その機能の裏には新たなセキュリティリスクが生まれています。特に注意すべき点は二つあります。一つは、フレームワークが提供する「実験的な機能」や「非推奨のオプション」を安易に使うことです。例えば、LangChainにはLLMにPythonコードを実行させる機能や、危険なリクエストを許可するオプションがあり、これらを不用意に使うと、攻撃者にサーバー上で任意のコードを実行されてしまう(RCE:Remote Code Execution)脆弱性につながる可能性があります。この教訓として、実験的な機能や非推奨オプションは、本当に必要か設計段階でよく考え、可能な限り使わないことが重要です。 もう一つは、LLMフレームワークそのものの実装に潜む脆弱性です。記事では、LangChain, Haystack, LlamaIndexなどの実際の脆弱性事例を挙げて解説しています。 SSRF (Server Side Request Forgery): 外部から指定されたURLにサーバーがリクエストを送信してしまう脆弱性。LangChainのWebクロール機能で、URLの検証が不十分だった事例があります。対策は、外部URLは許可リスト方式で厳しくチェックすることです。Path Traversal: 外部入力値を使ってサーバー上のファイルに不正にアクセスされてしまう脆弱性。LangChainjsのファイル読み込み機能で、パス名の検証が漏れていた事例があります。対策は、パス指定には「../」のような特殊文字を制限することです。SQL Injection: 外部入力値で意図しないSQLを実行されてしまう脆弱性。LangChainのSQL操作機能で、LLMが生成したSQLの検証が不十分だった事例があります。対策は、Prompt Injectionを防ぎ、LLMに与える権限を最小限にし、入力値をしっかり検証することです。RCE: 外部...
Show More
Show Less