AI領域で活躍するエンジニアになるには? ソフトウェアエンジニア出身のデータサイエンティストたちに聞く

ヤフーとHACARUSの実践に学ぶ、プロダクトにAIを適用する際のポイント
エキスパート向け 2021/09/08 12:00

 今、社会におけるAIへの期待の高まりには目覚ましいものがあります。その将来性に魅力を感じ、関連するスキルを身につけて、AIを活用した製品やサービスの開発に関わることを目指しているエンジニアも多いのではないでしょうか。今回は、Yahoo! JAPANのサービスへのAI技術の適用と、顧客の課題解決に向けたシステムの構築という異なるアプローチでAIに関わっている2人のエンジニアに、これまでのキャリアやAIに関わることになった経緯、プロダクトにAIを適用する際のポイント、AI領域でのキャリア構築を目指すエンジニアへのアドバイスなどを語っていただきました。

開発者/インフラエンジニアからAIエンジニアになるまでのキャリアパス

清水:ヤフーの清水です。現在、CTO直轄の技術戦略本部に所属し、併せてAIエンジニアとしての業務を行っています。年齢的には、そろそろ50歳になるのですが、キャリアの前半は主にエンタープライズの受託開発系でエンジニアとして働き、その後、Web系、データサイエンス系に軸足を移しました。

 Web系への転身後、2008年ごろに検索サービスのテクノロジーに関心を持ちました。そのバックエンドを支える技術として、さまざまな機械学習のアプローチが使われていることを知り、それを突き詰めるために、2011年以降、データサイエンス方面に注力してきたという感じです。

 木虎さんのプロフィールを拝見していて、比較的長くエンジニアの経験があったり、2011年前後からデータサイエンス領域に取り組み始めたりといったあたりで、私と共通点があるのかなと感じました。どうぞよろしくお願いします。

清水徹(しみず・とおる)氏

 ヤフー株式会社 技術戦略本部所属 機械学習エンジニア。名古屋大学大学院素粒子宇宙物理学専攻修了。キャリアの前半に、エンタープライズシステムの受託開発に携わった後、ヤフーで検索を中心としたサービスの企画・開発・研究および先端技術調査に従事する。ACL、KDD、SIGSPATIAL等、国際会議での論文採択あり。

木虎:こちらこそ、よろしくお願いします。キャリアには、確かに共通点が多そうですね。私の場合、キャリア前半の10年ほどは、インフラエンジニアとアプリケーションエンジニアを「二足の草鞋」的に行ったり来たりしていました。

 AIに最初に関わったのは、2011年前後に、機械学習を取り入れたシステムの開発リードを務めたのがきっかけです。その後、引き続きシステムの開発と運用を手がけながら、データ分析のプロジェクトにいくつか関わり、2018年にHACARUSへCDO(Chief Data Officer)としてジョインしました。

 最初のころに扱っていたAI関連の技術は、検索エンジンやレコメンデーションエンジンで使われるような、統計分析、自然言語処理、協調フィルタリングといった領域なので、そのあたりは清水さんと近いかもしれません。

木虎直樹(きとら・なおき)氏

 株式会社HACARUS CTO。関西大学工学部卒。以前は、シナジーマーケティングにプログラマおよびインフラエンジニアとして勤務し、2011年ごろからデータ分析や機械学習を手掛けるようになる。2018年4月にHACARUSにCDO(Chief Data Officer)としてジョイン。現在はCTOを務める。人工知能学会、言語処理学会での論文発表も手がけている。

清水:現在、木虎さんはHACARUSのCTOを務めておられますが、データサイエンスの領域にはどのように関わっておられるのですか。

木虎:立場的に、現場に直接入って何かをするということは、ほとんどなくなっていますね。ただ、ビジネスを進めていく上で必要なプロジェクトマネジメントの範疇には、時々現場のサポートに入るような形で関わることもあります。

 AIに関しては、主に現場への導入を推進する上での「品質保証」という観点で関わっています。弊社には、多くのデータサイエンティストが在籍していますが、彼らの中には学生時代から機械学習やAIの研究を専門にしていて、ソフトウェアエンジニアリングの領域には携わらずに、直接データサイエンティストになった人も多いです。

 実案件にAIを実装していく場合には、大きく「ビジネス」「データサイエンス」「エンジニアリング」の観点でプロジェクト全体を見ていく必要があります。私の場合、ソフトウェア開発やインフラエンジニアとしての経験が長かったので、自社が関わるプロジェクトにAIを導入する際に、適用領域をどうするか、運用保守や品質保証のスキームをどのように取り入れていくかといったことについて、研究開発と並行して取り組んでいます。

清水:エンジニアリングの領域も包括的に見て、調整をされる立場なのですね。

木虎:HACARUSの場合、製造ライン向けのシステムなども手がけていますので、その場合は、データサイエンティスト、アプリケーションエンジニアだけでなく、ハードウェアエンジニア、FPGAエンジニアなどもプロジェクトに関わってきます。それぞれに、持っているスキルだけでなく、扱う言語なども異なりますので、それらの間をうまくつないだり、最適化したりといったところまでを含めて見ています。

 清水さんが関わられているのは、メディア系サービスへのAI実装とうかがっていますが、具体的にはどういったものなのでしょうか。

清水:直近ですと「Yahoo!ニュース」のコメントや「Yahoo!知恵袋」といった、コンシューマージェネレートの要素が強いメディアサービスで、フィルタリングの仕組みとして実装が始まっています。以前、こうしたサービスにおいては、人を不快にさせる投稿や、内容に無関係な投稿などは、人間による目視での確認を行うか、もしくは従来型の機械学習によるフィルタリングである程度自動化していました。このプロセスに、ディープラーニングベースのフィルタリングを導入して効率化を図っています。

 私の所属しているチームは、技術動向の調査や研究を行い、CTOに報告するという「テクノロジーインテリジェンス」と呼ばれる業務を担います。ディープラーニングへの注目が一気に高まったのは2012年の秋ごろからだと思うのですが、その当時から、ディープラーニングについては単に調査をするだけではなく、エンジニアリングにも積極的に結びつけていこうという姿勢で見ていました。

 その結果、特に自然言語へディープラーニングをどう適用できるかについては、かなり早い段階から試行錯誤をしており、例えば「事前学習-ファインチューニング」と呼ばれるようなメソッドは、論文化されて一般的になる以前から、独力で実践していたりしたのですね。そうした過程で作り込んできたものが、今、サービスのバックエンドで実際に動いています。

木虎:清水さんは、サービス側とはどのように関わっているのでしょう。

清水:基本的に、本番システムへの実装には関わらない立場なので、ディープラーニングの適用に関心のあるサービスがあれば、プロジェクト単位で現場のエンジニアと一緒に作業を進めます。学習データの作成やモデルの準備を手元で行いながら、そのサービスにモデルをどう使うか、運用はどうするかといったことを考える形でチームに加わります。

木虎:サービスへの適用後も、モデルの改善は日々されていると思うのですが、そのプロセスはどうなっているのでしょう。モデル自体を、運用保守のチームに渡してしまい、彼らが改善していくという感じですか。

清水:現状だと、モデルだけを渡して「後はよろしく」というのはなかなか難しいですね。モデルの改善については、最初の段階では私のほうで引き受けつつ、本番システムの立ち上げが落ち着くくらいのタイミングから、モデルの学習や改善についてのノウハウについても、少しずつ現場のエンジニア側に転移していけるようにしたいとは考えています。実際、エンジニアの中にそういう素養を持っている人も多いですし、既に移行を終えているところもあります。現在、移行を進めている途中のところもあり、状況としてはいろいろです。

活用領域の広がりで多様なバックグラウンドがAIエンジニアの強みに

――お二人が取り組んでいる領域において、世の中に対してAIは特にどのような価値をもたらしていますか?

清水:数あるYahoo! JAPANのサービスの中でも、Yahoo!ニュースコメントやYahoo!知恵袋というのは、そこを見て自発的にコメントを書き込んでくれるユーザーの「コミュニティ」があってこそ、成立するサービスだと考えています。そのコミュニティを健全に保つ仕組みとして、重要だけれども、人知れず動いているAIを作ったという点で、価値の創出に寄与できているのではないかと思っています。

 HACARUSの場合は、自社サービスへの導入とは違う観点から、AIの価値を捉えておられると思うのですが、いかがでしょう。

木虎:HACARUSでは、主に「医療」と「産業」の2つの分野に対して事業を展開しています。

 医療分野だと「診断支援」の領域での、AI活用が進み始めています。例えば、経験の浅い若いドクターが、画像診断で病変を見落としてしまったり、判断に迷ったりするような部分を、AIによるセカンドオピニオンで補完するような使い方ですね。

 産業分野での活用範囲は、さらに広がっています。例えば、製造ラインにおいては、今でも人の目視による検品作業が多くの現場で行われています。人手による検査には、個人のスキルによって検査の質にばらつきが出たり、長時間の作業による疲労で精度が低下したりといった問題があります。それをAIに置き換えることで、より均質かつ定量的に検査を行い、結果を数値化して提示できるといったメリットが生まれています。さらに、そうした作業をAIが行えるようにすることで、人間は、人間にしかできない生産的な仕事に、より多くの時間を費やせる環境を作っていくことができます。

 ほかにも、これまでは、熟練の職人でなければ違いが分からなかったような事象について、その判別のノウハウを、AIが学習して継承していくような使われ方も始まっています。これまで、人同士での共有が難しかった「暗黙知」の可視化、デジタル化という観点でも、興味深い方向性だと思います。

清水:HACARUSでは、非常に広い範囲の案件を扱っておられますね。特に、医療や製造業といった業界では、それぞれの現場で知識の体系が既にできあがっているケースが多いと思います。そこへAIを活用したシステムを導入するにあたって、ドメイン知識(業界特有の知識)の理解は不可欠だと思うのですが、どう取り組んでおられますか。

木虎:ドメイン知識については、ある程度事前に学んでから、現場に入るようにしています。例えば、私には医療のバックグラウンドがほとんどありませんので、そのまま医療の現場に入っても、関係者と話ができないのですね。相手が何について話しているのかを理解し、課題に対する認識を共有できる程度の知識は、前もって頭に入れておく必要があります。

 医療分野に限ったことではないのですが、AI案件を進めるにあたって、AI領域の技術だけを知っている人がいても、うまくいかないケースが多いと思います。これについては、当社としても意識していて、採用の際に、できるだけバックグラウンドが異なる人たちを、幅広く採用するように心がけていますね。当社には、データサイエンスを専門に学んできた人だけでなく、バイオテクノロジーや宇宙物理学が専門だった人も在籍しています。

清水:宇宙物理学の専門家が、HACARUSでAIに関わっているというのは面白いですね。実は私も、大学院での専攻は素粒子宇宙物理学でした。

木虎:宇宙物理を学んできたということは、基礎的な物理の素養があるということですし、大量のデータを取り扱うという点でも、AIの世界と親和性の高いバックグラウンドがあるわけです。宇宙とは直接関連していなくても、物理に対する基礎的な理解が必要となるプロジェクトに、わりとすんなり加わってもらえています。

清水:AIを実案件に適用するプロジェクトで、AIエンジニアが、AI技術以外の知識や経験を持っていることは、かなりの強みになる気がしています。私の場合、ヤフーには、エンジニア職ではなく企画職として入りました。Twitterのつぶやきを検索できる「リアルタイム検索」の立ち上げを行ったのですが、その時は、企画担当の立場で、エンジニアやリサーチャーと仕事をするという経験をしました。

 この時、降ってくる案件をこなすのではなく、自分で課題を見つけて、周囲の人たちと協力しながら、その解決に動くという感覚を持てたように思います。また、そのプロジェクトに企画として関わったことで「大量のデータを使って、こんなことをしたい」という、エンジニアとしての「欲」を、改めて自分の中で醸成できました。たぶん、このステップがなければ、自分は今、エンジニアリングに関わる仕事には戻っていないだろうと思います。

 そうした経験があったことで、ディープラーニングによる自然言語処理を研究する際にも、技術だけを見るのではなく、課題を解決するためのアプリケーションとして、サービスにどう実装するかを意識しながら動けたように思います。

エンジニアも向き合わなければならない「AI倫理」の問題

――近年、AIに関連する期待が高まる中で、いわゆる「AIの倫理」も、エンジニアが向き合わなければならないテーマのひとつになっています。お二人の関わっている領域では、どのような課題がありますか。

清水:結果の公平性を損なうような「バイアス」に関しては、やはり注意をしていますね。私の場合、普段の仕事の中では、自然文のテキストデータが処理対象になります。そのため、年齢や性別のような、個人の属性データをダイレクトに扱う場合と比較すれば、今のところ、それほどナーバスにならなくていいケースが多いのですが、それでも問題はあります。

 例えば、いわゆる「罵詈雑言」的な投稿に、人物や会社、国名などの固有名詞が含まれる場合、そうしたネガティブな投稿を一律に「不快なもの」として学習してしまうと、その固有名詞が出てくるだけで「不快」と判定されやすくなってしまうのですね。これは、特に形態素解析と従来型のシンプルな機械学習とを組み合わせた場合に起こりやすい問題です。

 ディープラーニングを使えば、文章全体のコンテキストを加味して判定できるようになるので、この問題をある程度まで緩和できるのですが、それでも特定のトピックに影響を受けるようなバイアスを、どう回避したら良いかという問題はつきまといます。可能な限り「公平なモデル」を作りたいと思いはじめると、考えなければいけないことは、枚挙にいとまがありません。これは、データドリブンで問題解決を図ろうとする限りは、避けられないことだと思います。

 HACARUSの場合、医療分野も手がけておられるので、「AIの倫理」に対しては、よりシビアに向き合わざるを得ないのではないかと思いますが、いかがでしょうか。

木虎:今まさに直面している課題というわけではないのですが、医療分野だと、例えば大勢の患者の中から、優先して対応すべき患者を判定する「トリアージ」に関わるようなシステムに、AIを適用させる案件を手がけなければならなくなった場合、そのモデルをどう作るかについては、とても難しい判断が必要になるだろうと思います。「自動運転」の分野などでも、同じような問題が出てきていますが、人命に直接関わる領域では、AIではなく人間、医療分野であれば人間の医師に、最終的な判断を委ねる形にせざるをえないのではないかというのが、今の時点での私の考えです。

清水:人間の生活や社会に影響が大きい分野へのAI適用が進むと「なぜAIはそう判断したのか」を、人間が解釈できるかという「ブラックボックス問題」も存在感が増してきますね。

木虎:そうですね。そこについては、解決すべき課題に応じて、AIの推論結果に何らかの解釈を可能にする手法やアルゴリズムを適用するという形になっていくだろうと思います。この問題に関して、HACARUSでは「Interpretable Machine Learning」という、Webで公開されている書籍の翻訳版の公開などにも取り組んでいます。

清水:機械学習やディープラーニングは、その仕組み上、大規模なモデルを作ると、中身がブラックボックス化してしまうのは、ある程度仕方がないと思っています。HACARUSが取り組まれているような「スパースモデリング」の手法は、そのあたりの問題解決にも寄与するものなのでしょうか。

木虎:HACARUSにとって、スパースモデリングは、他との差別化要因になっているコア技術だと自認しているのですが、やはり「これさえあれば、すべての課題を解決できる」ような“魔法の杖”ではないのですね。

 そこについては、お客さんのビジネス課題に合わせて、適材適所の手法やアルゴリズムを採用するというのが基本になると考えます。つまり、必要な精度や、学習に使えるデータの量がどのくらいあるか、そして出力の解釈性がどの程度求められるのかといった、それぞれの状況に応じて、適切な手法を使うということです。手前味噌ですが、HACARUSには、優秀なデータサイエンティスト、エンジニアが多く在籍しており、そうした案件ごとのニーズに対応できることも大きな強みだと思っています。

清水:確かに、AI倫理の一部とされる、公平性、説明可能性、透明性といったものへの要求の強さは、実装されるアプリケーションの性質に依存するわけで、木虎さんの言われた「適材適所」は、ある意味で当然ですね。AIに関わるエンジニアには、「どんな課題を解決するために、どの技術を使うのか」という見立てと、その倫理的な意味とを合わせて考える姿勢と素養が求められるように思います。

これからAI領域で活躍していきたいエンジニアに向けて

――これからAIやデータサイエンス領域で活躍していきたい方は、どのようなことを意識するといいでしょうか。

木虎:先ほども少し触れたのですが、AIを実際のシステムに適用していくにあたって「最終的に解決したいビジネス課題は何か」を意識することは大切だと思います。これまでに、何度かそういうケースを見たことがあるのですが、経験の浅い人ほど、AIという「手段」を「目的」化してしまいがちなのですね。

 AIは「目的」ではなく、あくまでも目的を達成するための「手段」のひとつ、候補のひとつでしかありません。極端な話をすれば、課題さえ解決できれば、そこにAIを使う必要さえないこともあります。そのことは、常に意識するようにしてほしいですね。

 あと、実際にAIを製品やサービスに実装するプロジェクトを進める立場の人へのアドバイスなのですが、PoC(Proof of Concept、概念実証)に入る以前の段階から、その後の本番環境を見据えて、最終的なイメージや期待値について、関係者間で意識合わせをしておくことが重要です。これらが共有されていないと、PoCが終わった段階で「何か思っていたのと違う」という意見が出てきて、大幅な手戻りが発生したり、プロジェクトが進まなくなったりするケースが多くなります。世の中に「PoC止まり」のAI関連プロジェクトが増える背景としては、このステークホルダー全体での「ゴールイメージの共有」がうまくいっていないことがあるのではないでしょうか。スタートの段階から、お客さんを含む関係者全体で、最終的なイメージを共有することについて、十分に気を配っておくことを勧めます。

清水:私はキャリアの観点で話をしましょう。現在は、他の領域でキャリアを積んでいるけれども、将来的にAIやデータサイエンスに関わりたいと考えている人もいるだろうと思います。私自身も、キャリアの後半戦でキャリアチェンジを試みて、どうにかうまくいった例のひとつです。そうした志向のある人たちには、ぜひがんばってほしいし、応援したいと思っています。

 自分の経験からできるアドバイスがあるとすれば、例えば「データサイエンティスト」のような、自分がやりたいロールそのものが得られなくても、もし、ビジネス企画やデータエンジニアなど、その周辺にあるロールに携われる機会が巡ってきたら、積極的にチャレンジしてみることを勧めたいですね。そこでの経験は、その後、本来の希望を目指す上でも、決して無駄にはならないと思います。

 あと、AIに関する情報収集については、普段から英語をベースにやるようにしておくと、先々良いことがあるかもしれません。現状、広く一般に普及し始めた概念や手法については、日本語でも多くの情報が手に入るようになりましたが、3年先や5年先に盛り上がりそうな分野については、まだ英語のみで議論されているケースがほとんどです。これは、IT全般についての情報収集について言えることだと思いますが、特に今、変化の早いAI領域の最新動向にキャッチアップしたいのであれば、英語での情報収集、発信に慣れておくことが早道だと思います。

本企画に関するアンケートのお願い(9月28日まで)


著:高橋美津

  • このエントリーをはてなブックマークに追加