Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

生成AIについて思うこと

本記事はInfocom Advent Calendar 2024 18日目の記事です。

相変わらずブログのテーマに一貫性がない木本です。
ここ数年、生成AIの勢いがすさまじく、僕も今年は生成AIの調査や検証にあてる時間がかなり増えました。そんな1年を過ごした中で、気づいたこと・気になったことについて書いてみようと思います。

※エンジニアではない方にもイメージしやすい内容にしたかったので、用語として(厳密な意味では)あまり正確ではない表現をしている場合があります。ご了承ください。



生成AIをとりまく現状

生成AIと言っても様々な分野に広がっていますが、その中でもやはり一般的にインパクトがあるのは「お絵描き」ではないでしょうか。一見して「AIが描いたな」とわかるような絵を広告やスーパーの店内POPなどでも見かけることが多くなりました。
また、音楽を生成するAIも急速な進歩を遂げており、「〇〇をテーマにした歌を作って」というと、ほんの数分の間に作詞・作曲だけでなくバックトラックと合成音声による歌まで生成してくれます。実在の歌手の声やクセを模倣させて別のアーティストの曲を歌わせるという、どこかから怒られそうな動画もけっこう見かけます。
個人的には「そういう楽しい行為は人間がやるから、AIにはその時間を捻出するための支援をしてほしいんだよな・・・」と思ったりもします。


完全に仕事を肩代わりしてくれるまでいかずとも、生産性を上げるために生成AIを活用したい。
そういう観点から様々な企業で生成AI導入プロジェクトが立ち上がっていると思います。
中でも多いのは、社内のナレッジをベースに、自然言語での問い合わせに答えてくれるチャットアプリの導入ではないでしょうか。
これを実現するために「RAG(検索拡張生成)」という技術が採用されることが多いと思います。ユーザーからの質問内容に関連する情報を検索してAIに渡すことで、その情報を元にした回答を生成してもらうという仕組みですが、このRAGについて今年8月に以下のような記事が公開されています。

ascii.jp

「多くの企業やエンジニアがRAGにチャレンジしています。一方で、RAGの精度向上に苦心しているという声が多くの企業から寄せられており、この状況が続くと生成AI全体の期待度の低下につながる可能性があります。」


自分たちが積み上げてきたナレッジをベースにAIが質問に答えてくれるというのは実に夢がありますが、実際にRAGを構築して利用してみると「AIってかなりテキトーなんだな。ウソつくし。」という印象を持ちがちです。(ナレッジ自体の内容や質にも左右されますが。)
そこでまず、AIに対して適切な指示を与える「プロンプトエンジニアリング」に着手するわけですが、「参考情報だけに基づいて答えろ。余計なことは言うな。知らないことは知らないと言え。」という指示を与えるのが良さそうという結論が見えてきて、「AIを使う必要ある・・・?」というジレンマに陥った方も多いのではないでしょうか。「結局、キーワード検索の域から出られない」という意見も多く目にしますし、以下のような記事も出ています。

codezine.jp

生成AIの活用にあたって、技術的な課題に不安を感じているかを尋ねた質問では、「非常に感じている」(22.5%)と「やや感じている」(61.9%)を合わせた割合が84.4%に達している。
生成AIの活用にあたって、技術的な課題に不安を「非常に感じている」または「やや感じている」と答えた人に、具体的な課題や不安の内容を尋ねたところ(複数回答)、「誤情報の生成(ハルシネーション)」(59.2%)が最多となり、「機密情報の漏洩などセキュリティに関するリスク」(54.9%)、「回答品質の一貫性の欠如」(54.3%)がそれに続いた。


ハルシネーションというのは、AIによって誤った情報が生成される現象のことです。先ほど書いた「ウソつくし。」というのもここに当てはまります。
記憶に新しいところでは、生成AIで作成した観光情報が実在しないものだったということがありました。

mainichi.jp

実情はわからないので想像でしかありませんが、エンジニアの目線から見ると何もテストせずに公開していたとは考えにくい。だとしたら、テストしていた時期と運用を開始した後で、回答を生成しているAI(LLM)になんらかの変化が起こった可能性がありそうです。

このサイトではありませんが、先日、いつも使っているAIチャットで「家族旅行で沖縄に行きます。那覇市で評判の良いタコライスの店を5軒教えてください。」と質問したところ、回答された5軒すべてが存在しなかったということがありました。
これまで出張時の行動予定などを組み立てる時に重宝していたAIチャットなのですが、一時期このようなハルシネーションが多発したことがありました。

この福岡観光サイトは一般公開された後に問題が起こったわけですが、検証中に発覚して日の目を見ることなくお蔵入り、あるいは公開延期している例はたくさんあるのではないでしょうか。


さらに、このような記事も見つけました。

ascii.jp

「日本は技術的な検証などでは他国より先行し、初動はすごく良かった」一方で、「その先の実装や運用、具体的なリスク対策が進まず、“とりあえず危険”“何が起こるかわからないから止めておこう”といった保守的な文化などが障害になり、検証から先に踏み込めていない」

やはり、このあたりに日本で生成AIを活用することに対するハードルがあるように思います。


べき等性とライフサイクル

従来のシステム開発では「何度実行しても同じ結果になる」というべき等性が重視されていました。
たとえば、1をインプットすると必ず10が返ってくる。何度やっても10が返ってくる。9や11が返ってくる場合は、不具合として実装やテストの段階で修正されます。
これは情報システムが企業活動を安定的に支えるという使命を持っている以上当然のことですし、べき等性を担保するという前提がないと「なにをもってOKとするか」という基準もなくなります。

しかし、生成AIではこの「結果」が揺らぎます。前述の観光情報のように、事実ではない情報が返ってくることもあります。
自然言語で回答するため、ある質問に対する回答として「本質としては同じ」だとしても、表現が異なることもあります。
その揺らぎやハルシネーションに対して、自分たちでは対処療法しかできないというところにもどかしさを感じることも多いと思います。

さらに、自然言語での利用が可能になったことで、ユーザーからのインプットも予測ができなくなっています。
回答の質は質問の質にも左右されるため、同じことを尋ねるにしても、あるユーザーは満足できる回答を得られるけど、別のユーザーは回答を得られないということも起こります。(これは人に質問する場合と同じですね。)


また、従来は「すでに採用実績が多数あり、動作が保証されている技術を選定してシステムを構築する」ことが常識的に行われていたと思います。
そして、その技術が「枯れる」まで使い続け、サポート切れになったり、実際に動かせなくなることが明らかになって、新システム導入プロジェクト(超特急)が急遽立ち上がるということも多かったのではないでしょうか。(あぁ、何かを思い出して急に涙が・・・)

ところが、生成AIサービスのライフサイクルはこれまでになく短いものになっています。
Azure OpenAI Serviceでは「一般公開されたモデルは少なくとも1年間は利用可能となっております。」とアナウンスされています。裏を返せば「最短1年で使えなくなるかもしれない。」ということです。タイミングによっては、稼働して数か月後・数週間後に使えなくなるというケースもあり得ます。

learn.microsoft.com

モデルの提供終了が決まると代わりとなる新しいモデルに切り替える必要がありますが、新しいモデルではこれまで安定して得られていた結果が得られなくなる可能性があります。そのため、モデルを変更した際にどのような影響が出るかを確認し、必要に応じて適切な対処をする必要があります。しかも、モデルの提供終了が通知されるのは「提供終了の少なくとも60日前」とされています。(ひえぇ・・・)
「ほとんど採用実績がなく、動作もちょっと期待はずれになるかもしれないモデルをシステムに組み込まなければならない」という状況になる可能性が高くなります。


そのため、生成AIの機能を使うシステムを開発・提供・運用していく上では、ユーザーからのインプット、生成AIからのアウトプットなどをしっかり記録し、継続的に評価していくことが求められます。さらに、利用しているAI技術のライフサイクルも意識して、計画的に対応していくことも要求されます。

「べき等性が担保されている&一度作ったらしばらくそのまま」が主流だった世界に相反するような「べき等性が担保しづらい&ずっと面倒みないといけない」という状況は、これまでに行ってきた品質向上・維持のための判定基準や、運用・保守体制に対する考え方を大きく変えなければいけません。
どのような分野で使うのか、自社利用なのか、B2Bなのか、B2Cなのか、などによっても考えければいけないことは変わってくるでしょう。
このことが、「ん~、まぁその・・・いったん保留で・・・」という判断をさせやすくなっているのではないかと想像します。


生成AIに対する期待

生成AIへの期待がどんどん高まっている中で、期待をしながらも現実的な部分では期待値を下げる必要がある、というのが現状ではないかと個人的には考えています。
期待のしきい値を部分的・限定的にでも下げていくことをしないと、生成AIを積極的に導入していくことは難しいと思います。

生成AIを使った機能をシステムに組み込む開発者は、その仕様や特性を(すべてではないにしても)把握しているので「生成AIってこういうものよね。」という意識が作りやすいですが、積極的に導入し、利用を促進して定着させるためには、ユーザーやAIシステムを発注する人たちにも「生成AIってこういうものよね。」という意識を持ってもらわなければいけない。

利用するユーザーに対して「AIにできることとできないことを明示して、理解してもらう。」ということも重要で、最近AIチャットサービスに「AIで生成されたコンテンツは誤りを含む可能性があります。」というような注意書きがあるのもその一例です。(単なる言い訳ではないと思います。たぶん。)


生成AIの未来は明るいと思いますが、その利用に関しては様々なことを考慮しなければいけません。システムやアプリケーションがその用途や目的に沿った動きをしているかに加えて、法務や倫理なども絡んでくるので、もはや「開発部門や情報システム部門が頑張っていればいい」というレベルではなくなっています。
私たちが「企業として」あるいは「社会として」この技術をどのように活用し、進化させていくかが問われているのではないかと思います。

現在は開発競争が激化してることもあり、生成AIの進化は想像をはるかに超えたスピードで進んでいます。
これまで強固に築き上げてきた自分たちの中の常識を大きく書き換えなければいけないのに、書き換える部分を確認してる間にもどんどん常識が変わっているというほどの速さです。しかも、その範囲がものすごく広い。
僕が今回書いていることすら、「あ、それもう簡単に解決できるからね。」ということになっている可能性だってあります。

残念なことに「放っておいてもAIがうまいことやってくれる!」という状況にはほど遠いのが現実です。ただ、そのような期待を持ち続けることで、少しずつその未来が近づいてくるのではないかと思います。
今はその過渡期が始まったばかりだと思いながら、期待を大きく持っていようと思う次第です。


最後までお読みいただきありがとうございました。


サービス一覧 www.alterbooth.com cloudpointer.tech www.alterbooth.com