2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
岡崎 直観氏の登壇セッション(全1記事)
リンクをコピー
記事をブックマーク
岡崎直観氏:東京工業大学の岡崎と申します。うちの研究室は東京工業大学情報理工学院というところにありまして、大学の研究室になります。専門は自然言語処理や人工知能で、主に研究をやっている組織です。
私自身は、自然言語処理の教育とかもやっており、教科書を書いたり、「言語処理100本ノック」とか、「機械学習帳」を作ったり公開したりしています。大規模言語モデルとの関わりですが、大規模言語モデルを使われているアーキテクチャなどは、ふだん研究で詳しくやっているのでその解説を書いたり、(スライドの)右側の資料は、ある学会でのチュートリアル資料なのですが、3時間ぐらいの発表になっているので、がっつり勉強したい方はこちらを見ていただければと思います。
今日は、大規模言語モデルで最近どのようなことに取り組んでいるかという話をしたいと思いますが、けっこうELYZAさんとやっていることが被っているので、一応経緯を説明します。
もともとフルスクラッチと継続学習の両方に興味があったのですが、時期的な問題がありました。フルスクラッチのLLMが続々と発表された時期があったんですね。なので、これからそういう同じものを作ってもしょうがないよねという話になり、継続学習に前から興味があったのでやってみようかということで、そっちに注力することになりました。それで東工大のうちの研究室と横田研究室、産総研が共同で開発したLLMが「Swallow」という名前で公開されています。
Swallowは4つぐらいキーポイントがあって、継続事前学習というELYZAさんがされていることとほぼ同じですが、Llama2の7B、13B、70Bの日本語能力を高めるということを目的に継続事前学習をやりました。そのために100Billionトークン以上の大規模な日本語Webコーパスを研究室で開発しました。
あとは、語彙拡張というテクニックを使って、大規模言語モデルの学習・推論効率を改善しています。これもELYZAさんの説明に含まれていた内容です。ほかには継続事前学習において対訳コーパスを入れたらどうなるのかという、その有効性を検証しています。
ちょっとここは飛ばしちゃっていましたが、(スライドを示して)開発メンバーはこのようになっています。うちの研究室のメンバーと、横田研のメンバーが中心になっていて、特に横田研の学生さんですね。藤井さん(藤井一喜氏)と中村さん(中村泰士氏)がモデルの開発、学習などをがんばっていて、うちの研究室のメンバーが、評価と学習コーパスの構築をいろいろお手伝いしたという構図になっています。
継続事前学習ですが、ABCIのAノードを最大32ノード・16日間使って学習しています。Megatron-LMに実装されたデータ並列、テンソル並列、パイプライン並列で高い計算効率とメモリ効率を実現しています。この内容は、来月(※登壇当時)神戸で開催される言語処理学会で藤井さんがトークをしてくれると思うので、もし興味がありましたら、そちらをご覧いただければと思います。
(スライドを示して)継続事前学習により、性能がどうなったのかを示しているのがこの表なのですが、この各線の下から2番目にあるLlama2-7bというのが、もともとのLlamaのモデルになっていて、これに日本語のデータを追加することによって、性能を上げています。ここが7Bで、真ん中が13B、一番下が70Bですが、主に質問応答と算術推論の伸びが大きいです。
入れている学習データの話を次にしますが、なぜ算術推論が上がっているのかは、実は我々もあまりよくわかっていなくて、数学のことを教えたりとかはしていません。
このモデルの開発で意識していたことの1つとして、あまり味付けのないモデルを作ろうと思っていまして、日本語に強い大規模言語モデルがまだあまりないという時期だったので、オープンで使えて、いろいろな目的だったり、アプリケーションにチューンできるような、その土台となるようなモデルを作りたいということで、あまり味付けをしていないモデルを作っています。なので、このくらいの性能がダウンストリームタスクでも出るというのが、我々にとっても驚きでした。
コーパスは何を使っているかですが、うちの研究室で開発したコーパスがあってて、これは「Common Crawl」をフィルタリングしたものになっています。その当時では最大規模、フリーで使えるものとしては最大規模のコーパスを自分たちで作って継続学習に使っています。
作り方ですが、Common CrawlというWebのページをクローリングしてデータベース化しているサイトがあるので、そこからデータを取ってきています。その中にはいろいろな言語のテキストが混ざっているので、日本語のテキストだけを抽出して、日本語の品質に関するフィルタリングというのをやっていて、この詳細もこちらの言語処理学会で発表される予定です。
文字数がどのくらいあるのかとか、ひらがなと漢字の割合がどのくらいなのかというのを見て、きちんと日本語として読めるテキストなのかを検証しています。そのあと、重複文章の除去、デデュプリケーションという処理をして、似ているページを省いて過学習を防いでいます。
先ほどのELYZAさんのモデルには、fastという名前がついていましたが、語彙拡張をやっています。語彙拡張というのは何かというと、Llama2は学習データに日本語のテキストがあまり入っていないので、日本語の文字に関する知識をあまり持っていないんですね。なので「吾輩は猫である」という文をLlama2のトークナイザに入れると、バイトフォールバックといって、それぞれの漢字のUTF-8の文字コードレベルまで分割されちゃいます。
「吾輩は猫である」というのは短い文字列ですが、それがさらに長くなってトークナイズされて入っているという問題になります。これが起こると、コンテキストに入れられる情報が短くなってしまうので、これをきちんと日本語として扱いたいということで、日本語のトークンを1.1万件追加して学習しています。
日本語のトークンを追加すると、その新しく追加されたトークンは真っ新な状態から学習するので、日本語の性能は下がりやすいですが、その下がり幅をできるだけ下げるようにがんばって学習しています。
その下がり幅がどのくらいだったかなのですが、7Bと70Bの両方である程度下がっていて、特に要約の性能が低下しているのですが、それでも大半のタスクでは性能に違いがないというレベルを維持しています。
最後に、これは公開しているモデルには入っていない内容ですが、英語を出発したモデルから日本語を注入するということを考えた時に、やはり学術的な興味としては、例えば英語と日本語をつなぐようなコーパスを優先的に入れていったほうが学習がしやすいのかどうかを調べたくなるわけです。
例えば対訳コーパスというのは、英語と日本語が混ざったもの、これとこれが翻訳の関係にありますというコーパスなのですが、そこで次の単語を予測してから学習したり、対訳コーパスと日本語のコーパスを単純に結合してから次の単語を予測するような継続学習をしたり、対訳コーパスを使ってインストラクション・チューニング。つまり、この次の日本語の文を英語に訳してくださいみたいな、そういう学習データに変換したものを入れてから、言語モデルを学習するとどうなるのかということを調べています。
効果がありそうなパターンは見られて、特に翻訳の性能を上げることには成功したものの、それ以外のタスクへの波及効果がちょっと認められなかったのでそこは断念なのですが、アカデミックの研究としては、そういう取り組まれていないことに取り組んで、それがどういう結果になるのかという知見を共有するようなことも我々は取り組んでいます。自己紹介としては以上になります。
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える方法 臨床心理士が語る、「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.05
「今日こそやろう」と決めたのに…自己嫌悪でイライラする日々を変えるには
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み