こんにちは!データサイエンティストの青木和也(https://twitter.com/kaizen_oni)です!
今回の記事では、数多くのAI・データ分析プロジェクトを推進してきた日立グループのナレッジが詰まった1冊『実践 生成AIの教科書 ――実績豊富な活用事例とノウハウで学ぶ』から私が得た学びを3つ厳選してお伝えしたいと思います!
競争優位性のためのツールとして各社で活用が始まっている生成AI。
「我が社でも生成AIを導入したいな」と考えているDX部門・経営企画部門の方々が本書を読めば、
「なるほど、失敗しない生成AIプロジェクトはそうやって進めればいいのか」
「ふむふむ、生成AIの具体的な活用方法としてはそのような方法が考えられるのか」
と、実践に向けた知見を蓄えることができる良書となっております!
本記事では、その中でも私にとって学びになった部分をピックアップして紹介しますので、選書の参考にしていただけると幸いです!
本書の概要
元来、日立グループにはデータサイエンティストやAI研究者が多数在籍しており、グループ内および幅広い業種のお客さまと、毎年多くのAI・データ分析プロジェクトを経験しています。
株式会社日立製作所 GenerativeAIセンター監修『実践生成AIの教科書』(2024/リックテレコム) Piii
その活動を通じて様々な学びがあり、AI・データ分析プロジェクトを成功させるためのノウハウを蓄積してきました。
現在、それを生成AIプロジェクトに応用する形で推進中です。
本書ではそうしたGenerative AIセンターが持つナレッジの一端をご紹介します。
本書は多くのAI・データ分析プロジェクトからノウハウを蓄積してきた日立グループが、そのナレッジの一端を1冊の書籍にまとめたものです。
生成AIの基礎的な内容から生成AI活用に必要な知見・体制・人材、具体的な活用例が記載されているところまでは他の多くの生成AI系の書籍と似通っていますが、生成AIプロジェクトの進め方について書かれている部分が他の書籍と異なる点です。
本書の章立ては以下のようになっています。
【基礎知識編】
第1章 生成AIとは?
1.1 生成AIとは何か?
1.2 企業での取り組み
1.3 日立グループの取り組み
第2章 生成AI活用に必要なこと
2.1 生成AIサービス
2.2 システムと環境
2.3 利用ガイドライン
2.4 デジタル人材(プロンプトエンジニア)
第3章 生成AIプロジェクトの進め方
3.1 プロジェクトの構成プロセス
3.2 業務分析およびユースケースの洗い出し
3.3 活用方法の具体化・実現性検証
3.4 生成AIシステムの開発と業務での運用
【ユースケース編】
第4章 社内での一般利用
4.1 業務によくある課題
4.2 業務での適用箇所
4.3 資料草案の作成
4.4 アイデア出し(ブレインストーミングの相手)
4.5 情報の収集(検索エンジンとしての利用)
4.6 表計算ソフトの関数の作成
4.7 プロンプトエンジニアリング
第5章 システム開発の生産性向上
5.1 システム開発の課題
5.2 システム開発プロセスでの適用箇所
5.3 システム開発における活用事例
第6章 コールセンターでの活用
6.1 コールセンター業務の概要
6.2 生成AIの適用箇所
6.3 コールセンターでの活用事例(RAG編)
第7章 社会インフラの維持・管理での活用
7.1 社会インフラの維持・管理が抱える課題
7.2 生成AIの適用箇所
7.3 設備異常の画像生成
7.4 鉄道メタバースでの活用
7.5 プラントメタバースでの活用
第8章 データサイエンティストによる活用
8.1 データサイエンティストの業務内容と課題
8.2 データ分析プロセスでの適用箇所
8.3 データサイエンス業務への活用事例
8.4 データサイエンス業務に役立てるために必要なこと
【最終章】
第9章 生成AIの未来
9.1 さらなる進化と広がる用途
上記のユースケース部分は、実際のAI・データ分析プロジェクトを取り仕切っている日立グループだけあってかなり解像度が高く、他の書籍のような汎用的ユースケースではないので、これから企業における生成AI活用を進めていきたいと考えているIT部門やDX部門、経営企画部門の方々におすすめの書籍となっています。
本書から得た学び
本書から得た学びは以下の3点です
- プロンプトエンジニアという職種の変化
- 生成AIの実現性の検証
- RAGとファインチューニング、どっちがいいのか問題
順を追って解説していきます
プロンプトエンジニアという職種の変化
2023年当初、ChatGPTが爆発的なユーザーの広がりを見せた頃、「プロンプトエンジニア」という職種が新たに登場しました。
その当時のプロンプトエンジニアの仕事としては、「いかに良いプロンプトを作って、良いアウトプットを引き出すか」というプロンプト職人のような位置付けだったと認識しています。
一方で、本書においてはプロンプトエンジニアの役割は以下のように記述されています。
株式会社日立製作所 GenerativeAIセンター監修『実践生成AIの教科書』(2024/リックテレコム) P44
- 自然言語で質問ができること
- 社内データを加工し、知識DBに蓄積できること。社内データを生成AIへの入力の一部にできること
- LangChainなどの生成AI向け開発フレームワークを駆使し、Pythonなどを用いたアプリケーション開発ができること
つまり、「良いプロンプトを作る」ことは当たり前として、データ整備を含めた生成AIアプリの作成ができるところまでがプロンプトエンジニアの役割になっているのです。
ChatGPTが登場した当時は「いい出力」を出すために皆が試行錯誤を重ねていたため、「安定した良い出力を出せる」だけでも価値がありましたが、今は生成AIの精度が取り込まれるデータ量の増加とともに向上しており、ある程度のプロンプトでそれなりの精度を出すことができるようになりました。
技術の勃興によって誕生した新たな職種が、技術の発展によってかつての差別化要素が陳腐化する、というのは生成AI時代ならではのアイロニーなのかもしれません。
生成AIの実現性の検証
本書においては、「生成AIで業務改革を!」という勢いだけで始まり、結果としてあまり浸透しなかったということがないように、生成AIプロジェクトとして「業務のどこに適用できるのか」「実現性があるのか」を分析・検証してから取り掛かるという用意周到なプロジェクトの進め方を紹介しています。
具体的には以下のような手順で生成AIプロジェクトを進めていきます。
- プロジェクトの目的設定
- 業務分析とユースケースの洗い出し
- 活用法の具体化と実現性検証
- 生成AIシステムの開発と業務での運用
なお、ステップ2はステップ3やステップ4からフィードバックを受けて再考するというフィードバックループが形成されています。
ステップ1については、プロジェクトを遂行する上で目的設定をするという至極当然のステップになります。
ステップ2については、「誰が」「どんな業務に」「どのように」生成AIを適用すれば効果が出そうかを特定しにいくステップです。
そして、本書の中でも「その視点は持ったことなかったな」と思ったのは、ステップ3の「活用法の具体化と実現性検証」のステップです。
活用法の具体化については、まずは動くもの(プロトタイプ)を作ってみよう、という話なので、通常の業務改善プロジェクトと同様の進め方かと思います。
実現性の検証については、以下の3つの評価を行なって、生成AIを本当に業務に適用できるのかを検証していきます。
- 技術的評価
- 業務への適用性評価
- 総合的な評価
少し詳細に見ていきましょう。
技術的評価
技術的評価は以下の2つの観点で実行します。
- 回答速度
- 回答精度
回答速度については、適用するユースケースと照らし合わせて十分な速度で回答できるのかについて検証を行います。
コールセンターなどで類似の問い合わせ内容の回答をRAGを実装して引っ張ってくるときに、回答に1分以上かかってるようでは、電話先のお客様がブチギレてしまうのは想像に難くありません。
回答精度についても、コールセンター業務で5割しか正しい過去事例が出力されないのであれば、コールセンターをサポートするための生成AIとしては失敗していると言わざるを得ません。
なお、本書においては回答精度の検証については、想定質問の期待回答に対してどれだけ同様の結果が得られたか、という機械学習における精度(Accuracy)のような方法で生成AIの回答精度を検証しています。
業務への適用性評価
先ほどの評価は「プロンプトがどれだけ早く返ってくるか」「プロンプトがどれだけ正しいか」というある種客観的な評価でした。
一方で、「生成AIのアウトプットによって、どれだけ現状の業務が改善するのか」という担当者レベルで判断するような評価についても必要になります。
想定通り、あるいは想定以上の効果が得られれば、生成AIプロジェクトとしてはそのままGOして良さそうです。
一方で、想定以下の効果しか出てこない場合については、以下の2つの要因が考えられます。
- その業務が生成AIを適用するには不向きな業務だった
- 生成AIの適用に適している業務ではあるが、生成AIに技術的問題があるため、現時点では有用ではない
上記のような要因を鑑みると、「なぜ想定以下の効果なのか」についても記録・考察をし、別の業務への生成AI活用に移るのか、それとも技術的課題を解決しにいくのかを決定して、次のサイクルを回す必要があります。
総合的な評価
上記2つの観点を総合して、プロトタイプの実現性に対する評価を下します。
技術的評価も適用性評価も十分クリアしていればもちろんGOですが、そうでない場合は以下のような選択肢が考えられます
- 技術的課題を解決しにいく
- 同様の技術レベルでも効果をもたらすことができる別の業務を探しにいく
- 諦める
このようにして、通常の業務改善プロジェクトと同じように、最初に見積もった改善効果が得られるのかを複数の側面から検証しにいくことが生成AIプロジェクトにおいても言える、ということが本書からの学びでした。
RAGとファインチューニング、どっちがいいのか問題
最近は少し落ち着きつつあるものの、未だに勢いのあるRAG技術。
コンペなどでTransformersを扱う人からしたら当たり前の所作のファインチューニング。
上記2つはどちらも特定の分野に対する回答の精度の向上を達成するためのLLMの技法です。
どちらの手法にも良い点はありつつも、本書においてはRAGをメインに紹介しています。
その理由は、現時点のファインチューニングには以下3つの課題があるからであると語られています。
- ファインチューニングのノウハウ不足
- ハルシネーションの判断が困難
- 情報が古くなる
それぞれについて、簡単に解説をしていきましょう。
ファインチューニングのノウハウ不足
ファインチューニングにおいては、事前に大量のデータで学習された学習済みモデルに対して、追加のデータセットの内容を学習させることで、より専門的/特化的な回答を引き出すために調整を行います。
適切なファインチューニングをするためには以下の3つの観点が重要になります。
- 追加するデータの質がいいこと(=ノイズとなるようなデータがないこと)
- 追加するデータが十分にあること
- 追加するデータが学習しやすいフォーマットに整っていること
特に、Kaggleなどにおいては回答の精度を向上させるために以下のような工夫がなされることがあります。
- (膨大な)学習用データセットにおいて間違ったラベルづけがなされていないかチェックする
- 追加の学習データをLLMを使用して生成する
とはいえ、上記のような骨の折れる作業を行なったとしても確実に精度向上するとは言えませんし、場合によっては事前学習済みモデルで学習した知識を忘れてしまうという破滅的忘却が発生するおそれもあります。
その点、RAGに関して言えば、雑に突っ込んだデータの中から質問文に類似したテキストを引用することができれば、それなりに精度の良い回答を引き出すことができるので、コスパに優れているのです。
ハルシネーションの判断が困難
ファインチューニングにおいては追加のデータから新たな知識を学習させることができます。
一方で、従来のChatGPTと同様に、ファインチューニング後のモデルは知識が追加されたとしても、その知識がどの文書のどの部分から学習された内容かについては教えてくれません。
そのため、ファインチューニングされたモデルの回答にハルシネーションが起きていないかの判断は、利用者が自身で追加データや社内サイト、インターネット上を検索するほかありません。
一方で、RAGにおいては引用した文書の情報を回答に入れ込むことができるため、その回答が本当に正しいのかについては比較的容易に検証することができます。
情報が古くなる
世界的に話題になった2023年当初のGPT3は2021年までのデータしか学習をしていないため、最新の内容については答えることができませんでした。
一方で、2024年9月時点のGPT-4oは2023年12月のデータまで学習に使用されているため、比較的最近の内容についても回答を返してくれます。
上記の話はファインチューニングにおいても同様です。
ファインチューニングした生成AIに最近の内容について返答してもらいたい場合は、別途最新のデータを学習させる必要があるのです。
ちなみに、大量のデータをファインチューニングする場合はGPU環境とそれなりの時間が必要になるため、毎日毎日ファインチューニングをするというのは現時点では現実的ではありません。
一方で、RAGにおいては最新のデータを専用のベクトルDBにベクトル化して突っ込んであげれば、再学習などせずとも最新の知見を引用して回答をしてくれます。
カスタマーサポート業務などで活用することを考えると、引き出し可能な知識はできるだけ最新な方が望ましいので、結果としてRAGの方が好まれるわけです。
まとめ
今回の記事では、数多くのAI・データ分析プロジェクトを推進してきた日立グループのナレッジが詰まった1冊『実践 生成AIの教科書 ――実績豊富な活用事例とノウハウで学ぶ』から私が得た学びを3つ紹介してきました!
プロンプトのテクニック的な話にフォーカスした書籍は何冊か読んできたものの、「生成AIを業務に取り入れる際にどのようなプロセスを踏んで進めていくべきか」についての書籍はあまり見かけなかったので、とても有益でした!
本記事が皆さんの生成AI活用の参考になれば幸いです!
コメント