2024.12.24
ビジネスが急速に変化する現代は「OODAサイクル」と親和性が高い 流通卸売業界を取り巻く5つの課題と打開策
リンクをコピー
記事をブックマーク
続いて「ISID × Azure × PyTorchの取り組み」について発表します。まず「PyTorchとは」ということで、知っている方も多いと思いますが、PyTorchは2016年にFacebookの人工知能研究グループから公開された、Pythonのオープンソースの機械学習ライブラリです。
図に示しているのが、2017年の3月から2021年の現在まで、論文実装に使用されているマシンラーニングライブラリの割合です。2017年当初を見てみると、TensorFlowが非常に多く使われています。また、TensorFlow以外にもその他のライブラリが多く使われていることがわかります。
しかし2021年現在ではPyTorchが約4割を占めており、TensorFlowは約2割になっています。このように、PyTorchがマシンラーニングを使うにあたり、非常に人気であることがわかります。
そしてISID × Azure × PyTorchということで、私たちISIDとマイクロソフトさまはPyTorchとの連携に力を入れています。例えば私たちISIDでいうと、こちらはプレスリリースの内容になりますが、ビジネスでPyTorchを利用したディープラーニングモデルの作成などを行っています。
一方でマイクロソフトさまのほうでは、こちらはマイクロソフトさまの公式のページになりますが、PyTorchのエコシステムへの貢献を非常に多く取り組まれています。最近でいうとPyTorch Profilerという機能が、PyTorchの1.8でリリースされましたが、この開発をマイクロソフトさまとFacebookで主に行っているということです。
このように、私たちISIDとマイクロソフトさまはPyTorchの連携に非常に力を入れています。
そして、この度ISIDとマイクロソフトさまとで、PyTorchに関する事例記事を米国と日本両方で公開しました。
こちらはリンク(日本語、英語)から参照できます。内容としては、Azure ML、そしてPyTorchを使った製品開発、今回説明したTexAIntelligenceに関する内容になっています。こちらも興味ある方はぜひ見てください。
最後にISIDメンバーによるPyTorchコミュニティへの貢献ということで、ISIDではビジネスでのPyTorch利用だけではなく、PyTorchコミュニティへの貢献も行っています。
1つ目が、PyTorchの日本語チュートリアルの公開です。こちらはPyTorchの公式サイトからリンクでき、私たちISIDグループのメンバーが作成しています。
また、冒頭にもお話したようなPyTorchに関する書籍もISIDメンバーから出版しています。『PyTorch実践入門』であったり、その他にも『つくりながら学ぶ! PyTorchによる発展ディープラーニング』などもISIDのメンバーが執筆しています。これらはPyTorch公式のTwitterからも紹介されています。
それでは、私からの発表は以上となります。
ファイサルハディプトラ氏(以下、ファイサル):続いて発表者が代わり、私ファイサルから「TexAIntelligenceを搭載したALBERTモデルの構築」について発表します。
まずは自己紹介します。私は深谷と後藤と同じように、AIトランスフォーメーションセンターという部署の中で、製品開発グループに所属しています。主な仕事としては、自然言語処理を中心とした研究開発を行ったり、自社のAIソフトウェアであるTexAIntelligenceの開発をしたりしています。
今回の発表としては、主にこの2つ内容があります。ISIDオリジナルALBERTモデルについて、どのようにそのモデルを構築するかという話と、TexAIntelligenceという製品にどのようにALBERTモデルを組み込むかという2つの話をします。
まずはBERTのおさらいから入ります。ご存知のとおり、2018年の10月にGoogleがBERTを公開して、自然言語処理の業界が変化しました。さまざまな英語のNLPタスクを解いて、State-of-the-artsになりました。その次に、英語以外にも多言語のモデルを公開して、さまざまな言語に対応するようになりました。
ただし、日本語のデータに対してはあまり性能が出ない問題があります。そのために、いろいろな企業が日本語版のBERTを公開し始めています。
BERTそのものを業務システムに組み込むと、いろいろな問題が発生します。
根本的な原因として、BERTのモデルの中ではパラメーター数が多く、モデルサイズが大きいので、限られた計算リソースだと学習がちょっと厳しいです。推論時間も遅く、ディスクの使用量が多いという別の問題があって、その問題を解決するためには、どうやってモデルを小さくするか、どうやってモデルの推論時間を早くするかという2つの課題が残っています。
その課題を解決するために、私たちが調べたALBERTという新しい、BERTモデルよりも軽量な仕組みを検討しました。
このALBERTを使うと、BERTのパラメーター数を10倍ほど削減でき、推論時間も早くなります。ALBERTの中には主に3つの工夫点があり、BERTを改善します。
1つ目はEmbeddingパラメーターを因数分解して、もともと大きい行列を小さい2つの行列に分けています。もう1つは、もともとBERTにある12層のSelf-Attention Layerのパラメーターを共通化して、1つのパラメーターとして扱っています。この1つ目と2つ目の工夫点によって、BERTのパラメーター数を10倍ほど削減できます。
最後に、BERTのNext Sentence Predictionというタスクの代わりに、新たなSentence Order Predictionというタスクを導入して、よりよい精度が得られます。
論文から性能評価を入れると、ALBERTのパラメーター数が少ないですが、精度がかなりいい事実があります。さらに、BERTはlargeからxlargeに拡大すると精度がかなり落ちてしまっていますが、ALBERTの場合は、xxlargeまで拡大しても精度がだんだん上がっていく傾向が発見されます。
BERTよりALBERTのほうがスケールしやすいことがわかったので、ALBERTを採用することにしました。
ISIDでは生のBERTを使うとうまくいかないケースがあるので、今回は改善点を3つ紹介します。
1つ目は、入力文章の長さを2倍に。BERT系のモデルは基本的に512単語までしか扱っていませんが、業務文章では512単語より長い文章がけっこうあるので、今回は512の単語を2倍にして、1024単語まで拡大する工夫をしていました。
それ以外に、もともとのALBERTではSentencePieceというトークナイザーを利用していますが、日本語の場合はSentencePieceを使うよりも事前に形態素解析を行ったほうがよりよい結果が得られるので、今回は形態素解析を使うことにしました。
多数の形態素解析ライブラリの中から、Sudachiを選択しました。なぜかというとSudachiで使用している辞書は比較的新しく、より多くの単語に対応しているのでSudachiを選択しました。
最後に、Whole Word Maskingという仕組みに対応するようにしました。Whole Word Maskingが何かはこの後解説します。
もともとBERTでは、ボキャブラリーに入らない単語をWordPieceに分解して、トークンとして扱っています。BERTではマスク言語モデル(Masked Language Model)というタスクがあり、そのタスクのデータセットを作るためにはランダムでトークンを隠して、学習するときに予測対象とします。
もともとBERTはWhole Word Maskingを使わない場合はトークンごとに隠していますが、Whole Word Maskingを使うと単語全体を隠しています。この例で言うと、“新宿御苑”という単語は3つのWordPieceとして分解されます。“新宿”“御”“苑”というトークンに分解されました。
Whole Word Maskingなしの場合、データセットを作るときに”御”というトークンだけ隠す可能性がありますが、Whole Word Maskingを使う場合は“新宿御苑”という3つのトークンが丸ごと隠されます。Whole Word Maskingを使わない場合はタスクが簡単すぎて学習するメリットが下がる事実があるので、今回はWhole Word Maskingを採用しました。
私たちが構築したモデルのメトリクスはこんな感じです。公開されている日本語版のALBERTより、精度がよりよく得られることが確認できました。しかもALBERTモデルなので、BERTより10倍ほどモデルサイズを小さくできました。
最後に、モデルの評価を測るためにlivedoorニュースという人気の日本語の分類タスクに対してモデルをファインチューニングした結果、私たちが構築したモデルが、かなりいい精度が得られたことは確認しました。さらに学習時間と推論時間も、生のBERTより速いことが確認できました。
ここまでは我々が構築したALBERTモデルについて話しました。その次は、どうやって構築したモデルをTexAIntelligenceに入れるかという話になります。
TexAIntelligenceには主に3つの機能があります。“文章類似検索”と“教師あり分類”と“文章要約”です。この3つの機能にどうやってALBERTを適用するか、今回は2つの機能だけ紹介します。
まずは“教師あり分類”からです。基本的な流れとしては、私たちが構築した事前学習済みのALBERTモデルを使用して、ユーザーが提供したデータに対するファインチューニングを行います。その後にファインチューニングされたモデルを使ってテストデータを分類するという、普通の流れでTexAにALBERTモデルを入れました。
その次に“類似検索”機能にどうやってALBERTを入れるかというと、基本的にはTexAの中の類似検索では、ベクトル空間モデルを使っています。検索対象文章をベクトル化して、その後、クエリ文章もベクトル化して類似度を計算する流れになっています。基本的には教師なしアプローチを使っているので、そのままALBERTを使うとあまり精度が出ない事実があります。
その次に、ベクトル化のところを少しだけ解説します。文章を事前にトークン化して、ALBERTモデルを使って文脈付き単語ベクトルを計算して、そのあとは各文脈付き単語ベクトルをプーリングレイヤーに入れて文章ベクトルを計算する流れになっています。今回プーリングレイヤーは、普通のAverage Poolingという、平均をとるレイヤーを使っています。
先ほど言ったように、そのままALBERT事前学習モデルを使うとうまくいかないケースが多いので、今回は私たちが工夫した点を少しだけ紹介します。
教師なしでの有効性があるため、Sentence-BERTのアーキテクチャを使ってファインチューニングを行いました。対象データセットとして、日本語版の自然言語推論SNLIというデータセットに対してファインチューニングを行いました。これで、教師なしでも類似検索がかなりいい精度が得られたことを確認しました。
そのため、Sentence-BERTアーキテクチャでファインチューニングしたモデルを、TexAの類似検索機能に適用することにしました。
TexAIntelligenceを搭載したALBERTモデルの構築のまとめは、以下の通りです。
我々からの発表は以上です。ありがとうございました。
お問い合わせ先:株式会社 電通国際情報サービスX(クロス)イノベーション本部 AIトランスフォーメーションセンターURL:https://isid-ai.jp/E-mail:g-isid-ai@group.isid.co.jpISID-AI製品テクサインテリジェンス:https://isid-ai.jp/products/texa.htmlオプタピーエフ:https://isid-ai.jp/products/optapf.htmlディーカ:https://isid-ai.jp/products/dica.html
関連タグ:
2025.01.16
社内プレゼンは時間のムダ パワポ資料のプロが重視する、「ペライチ資料」で意見を通すこと
2025.01.20
組織で評価されない「自分でやったほうが早い病」の人 マネジメント層に求められる「部下を動かす力」の鍛え方
2025.01.21
言われたことしかやらないタイプの6つの言動 メンバーが自主的に動き出すリーダーのマインドセット
2025.01.15
若手がごろごろ辞める会社で「給料を5万円アップ」するも効果なし… 従業員のモチベーションを上げるために必要なことは何か
2025.01.14
目標がなく悩む若手、育成を放棄する管理職… 社員をやる気にさせる「等級制度」を作るための第一歩
2025.01.21
今までの1on1は「上司のための時間」になりがちだった “ただの面談”で終わらせない、部下との対話を深めるポイント
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.01.14
コンサルが「理由は3つあります」と前置きする理由 マッキンゼー流、プレゼンの質を向上させる具体的Tips
2025.01.22
部下に言いづらいことを伝える時のリーダーの心得 お願いを快く引き受けてもらう秘訣
2025.01.09
マッキンゼーのマネージャーが「資料を作る前」に準備する すべてのアウトプットを支える論理的なフレームワーク
チームの生産性を上げるマネジメント術
2024.12.11 - 2024.12.11
特別対談「伝える×伝える」 ~1on1で伝えること、伝わること~
2024.12.16 - 2024.12.16
安野たかひろ氏・AIプロジェクト「デジタル民主主義2030」立ち上げ会見
2025.01.16 - 2025.01.16
国際コーチング連盟認定のプロフェッショナルコーチ”あべき光司”先生新刊『リーダーのためのコーチングがイチからわかる本』発売記念【オンラインイベント】
2024.12.09 - 2024.12.09
NEXT Innovation Summit 2024 in Autumn特別提供コンテンツ
2024.12.24 - 2024.12.24