目次
2022.08.15 2023.08.16 約5分
国内最大級 ITエンジニア向け勉強会プラットフォーム connpass においてグループ人数 No.1 の Forkwell Community。 機械学習の「つぎの一歩が見つかる、気づきと学びの場」ML Study シリーズから2022.05.10開催「ML Study #4 自然言語処理スタートアップに学ぶ実践事例」のQ&Aセッションをレポート!
<こんな方におすすめ>
【質問全文】スタートアップの転職で不安はありませんでしたか? 機械学習系スタートアップには技術の高い方が集まっていることに魅力を感じつつも、サービスや人数規模、将来性に不安を感じたりします。何が決め手になったことや、今感じてるものがあれば教えてほしいです。
やぐ: 私は大企業からスタートアップに移りました。大企業では窮屈さや融通の利かなさがありましたが、スタートアップに移ったことで、それらの点が解消されてよかったです。
人数規模や将来性に不安はありますし「このタスクは私がやらなきゃいけないのか?」ということもあるので、その点はトレードオフだと思います。
その中で自分ができることや会社に対する愛着、将来性に期待しています。
近江: 元々アカデミックのポジションは任期付きだったことに加え、自分が会社に貢献していけば安定にも繋がるだろうと考えているので、あまり気になりません。
現職に就いた1番の決め手は、面接などを通して話をした方と一緒に仕事をしたいと感じたことです。
北川: 私もそこまで不安はありませんでした。広告などをしていたので「株式会社スタンバイで広告事業を成長させてほしい」と言われ、今まで自分が培ったものを還元していくのも楽しいだろうと感じて転職を決めました。
【質問全文】BERT で固有表現抽出の例がありましたが、形態素解析+辞書だけでは精度がでないからBERT を使っているのでしょうか?辞書のメンテナンスが大変になるといった運用面の問題でしょうか?文脈を見て企業名かどうか判断しているということでしょうか?
近江: ストックマーク株式会社も辞書などを併用していましたが、文脈から企業名と判定することが非常に重要です。
辞書は未知の企業を発見できないことがクリティカル面での一番の問題で、市場調査では今まで知らなかった企業を発見することも重要なニーズなので、文脈から判定できることが BERT を使用している1番の理由です。
やぐ: 最初は形態素解析と辞書でおこないますが、間違い(false positive)が多く、辞書を追加していくだけでは防ぎきれませんでした。そこで最終的に BERT などの機械学習モデルを使う形に落ち着きました。
北川: 株式会社スタンバイでも、使い分けをしています。開始時は辞書のほうが速いので、それをベースラインに BERT などを使用したものを徐々に取り入れています。
近江: 難しい課題ですが、企業名抽出は非常にコアな技術なので、活用データをいろいろな分野で増やす取り組みは実施しました。
ただスタートアップは、新機能を作りたいという要望が多く、作ったモデルをどう改善していくのか?という部分は今後の重要な課題かなと考えています。
北川: 株式会社スタンバイもいろいろな取り組みをしているので、頻繁にはアップデートできていません。ただし、MLOps などを使用して更新が必要な状態になれば、すぐに更新するようにしています。
やぐ: 2人の意見に同意です。例えば Deep Learning でレイヤー追加やモデル改善をしていくよりも、愚直にデータを増やしたりデータの質を上げていく方が、遥かに精度に寄与する場合が多いです。あまりアップデートの意識はしておらず、データ作りと、それに反映して学習し直すことが多いと思います。
gepuro: ありがとうございます。質問者の意図としては、アップデート頻度の具体的な数字を知りたいのだと感じました。おおよその目安はありますか?
近江: それほど学習データ自体のメンテナンスは頻繁ではないのですが、逆に False Positive ブロックリストをどんどん拡充していくことは日頃から取り組んでいます。
北川: うちもリストの更新は順次しています。モデルの更新はオンラインテストの流れで掛けるので平均すると月1くらいのペースでしょうか。積極的にはしていません。
gepuro: 医療分野なので想像がつかないですが、ブロックリストはどのくらい活躍しますか?
やぐ: 辞書追加は週に数回レベルでおこなっています。モデル自体の精度向上も1、2ヶ月の間に2回くらいモデルを更新して精度を試していました。
【質問全文】OCR を GCP で使っている主な理由はなんでしょうか?ユーザー企業ではない提供側なので、(前処理は AI 作っているということみたいですし)作れるということだと考えましたが、データを揃えるとコンピュータ資源的に外部が得ということでしょうか?
やぐ: すぐ検証するという意味であれば、 初手としては API を外部から使うのは最善だと思います。そのなかで周りの側を作っていくのはいいと思います。
OCR は頑張れば作れるかもしれませんが、それよりもやりたいことや取り組みたいタスクがたくさんあるので、OCR 自体を改善しないとどうにもならないレベルまでギリギリに詰めたうえで取り組むかな?という気がします。
gepuro: 外部モデルを使うか、内製するかについての境界線はどこになりますか?
やぐ: 実際に自作の OCR のようなものを使用したものの、その点はかなり曖昧で、時と場合によるかな?と思います。
例えば、形態素解析のようなものは外部の API を使用するまでもなく同化の方が早いですし拡張もできるので、何をやりたいか次第だと思います。
北川: 株式会社スタンバイでは内製がメインです。
gepuro: 解きたい問題があまり提供されてないのですか?
北川: そうですね。自然言語処理から少し離れますが、モデルをバリバリ作っているのは検索ランキングの部分なので内製がメインです。
gepuro: 近江さんはどう判断していますか?
近江: ストックマーク株式会社では自分で作りたい人が多いので内製が多いです。特殊な場合を除いて機械翻訳だけは Google や既存のサービスを使うことが多いです。
gepuro: 機械翻訳までいくと内製する手間が大きすぎるのですか?
近江: そうですね。機械翻訳の会社でなければ、自分で作るモチベーションがあまりないことも挙げられます。
【質問全文】日本では大規模言語モデルの構築が海外ほど盛んではないイメージがありますが、どのような取り組み・仕組みが必要となるのでしょうか? (例:企業とアカデミアの連携など)
近江: 私の勝手なイメージですが、日本人は技術や繊細さに対するこだわりが強い傾向にあると感じるので、割り切って作るマインドが必要だと思います。
北川: 株式会社スタンバイでは、このようなアカデミアなどの取り組みはまだできていません。インターンや受け入れなどとの連携が増えていくといいと思います。
やぐ: 日本語のデータセットに関する権利関係がさらにしっかりするといいと思います。海外の生物学やメディカル分野では PubMed という論文のアブストラクトなどを収集している大規模なデータベースがあります。それを使用して BERT や Transformer を学習させましょうという事例がありますが、日本には自由に使用できるものがないので、そこで止まっているのだと思います。日本でも、東大の研究室が医療系の BERT のプレトレインドなモデルを提供していますが、商用利用ができないので自由に触ってプロダクトに適用するのが難しい現状という少し特殊な事情もあります。
北川: Human-in-the-loop まではまだできていません。株式会社スタンバイでは「検索精度は定量的なものだけで見るべきではない」という観点で検索結果をチェックするサーチクオリティ部という部隊があり、そこで定性的な評価を定期的に回しています。その結果をうまく機械学習に取り込んでいけることが理想です。
近江: 企業名辞書の更新や BERT で出力した結果が合っているかを人手でチェックする体制は少しずつできていますが意外と難しいので、どんどんノウハウを溜めていかないと上手くいかないでしょう。
やぐ: 今は使えていません。Human-in-the-loop やアクティブラーニングを使用したい想いはありますが、そこに至るまでにおこなうべきことが多く、モデルやデータの改善などを優先するので後回しになっています。この部分でいいプロダクトやサービスなどが出てくれば喜んで使いたいです。