生成AIアプリケーション開発への注目が集まっている。ただ、開発に時間がかかりそう、スキル不足でどこから手を付ければいいか分からないという企業は多いだろう。本稿では、AWSのセミナーを基に、短期間、少人数で生成AIアプリケーションを開発した事例を紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
生成AI(人工知能)は日々存在感を強めている。個人としてか企業としてかは異なるが、既に業務で生成AIを利用している人もいるだろう。丸紅も生成AIの業務利用にいち早く注目した企業の一つだ。幾つかの取り組みの中でも、丸紅の中で存在感を放っているのが生成AIチャットbot「Marubeni Chatbot」だ。
QA検索はもちろん、会議の文字起こしや議事録作成、ファイルの要約、さらにユーザー自身でチャットアシスタントアプリケーションを構築できるMarubeni Chatbotは、丸紅グループ全体(2024年2月現在で4万5000人の社員)に向けて展開されている。だが、真に注目すべきなのはその開発体制だ。なんと実質1人で、1カ月程度で初期バージョンのリリースまでこぎ着つけたという。
短期間、少人数で生成AIアプリケーションを開発できた秘密とは何か。2024年2月22日に開催されたAmazon Web Services(AWS)のオンラインセミナー「AWS Innovate AI/ML and Data Edition」において、丸紅は「丸紅における生成AIの実用化プロセス〜戦略策定から開発までの全て〜」と題し、生成AIアプリケーション開発の取り組みについて紹介した。なお、本稿で触れている内容はセミナー開催当時のもので、現状とは状況が変わっている可能性がある。
丸紅は世界中に拠点を持つ総合商社だ。同社のデジタル・イノベーション室は「丸紅グループの変革の推進」をミッションとしており、全社のデジタル化や新規取り組みの戦略の立案、遂行している。丸紅の大倉 耕之介氏(デジタル・イノベーション室 副室長 兼 Digital Experts 代表取締役社長)は「デジタル・イノベーション室は相談を受け付けるだけでなく、実際の“ものづくり”に至るまで幅広く支援するのが特徴です」と語る。例えばデータサイエンス分野であれば、AIを駆使してデータを分析するだけでなく、分析結果を活用するためのアプリケーション開発を担うといった具合だ。
こうした体制のため、同室は新しい技術の検証に積極的だ。「ChatGPT」が登場した際にもいち早く検証したという。当初は精度面で懸念があったが、「GPT-4」の登場によって業務利用できるめどがついた。大倉氏はAIを専門としてきた若手メンバーを集め、GPT-4の活用を進めることにした。若手メンバーにしたのは「熱意がある人が自ら携わった方が早くいいものができる」と考えたからだ。
ただ、「生成AIを使って何かしよう」と考えたとき、その選択肢は数え切れないほどある。どこから始めるのか、どの部分に適用するのか。こうした点を整理しないと開発がつまずいてしまう可能性が高い。そこで丸紅は、生成AIの取り組みの難易度を「レベル」として定義し、低いレベル(難易度が低いもの)から順次進める方針を採った。
レベルを決める要素は「業務上求められる精度」「技術的な成熟度」「データ収集の容易性」「社内での汎用(はんよう)性やインパクト」の4つ。これらを掛け合わせてレベルを定義する。最初に着手する「レベル1」がチャットbotである、Marubeni Chatbotとなる。
Marubeni Chatbot開発の中心となったのは、入社2年目の芹川武尊氏(デジタル・イノベーション室 データアナリティクス課)だ。芹川氏は2022年まで大学院の修士課程で数理最適化アルゴリズムを研究しており、2022年4月の入社以降は法人向けWebサービスのアルゴリズム構築やシステム開発を担当している。
大倉氏同様、芹川氏もChatGPT、特にGPT-4の能力を高く評価しており、「技術系の社員ではなくても、生成AIを当たり前のものとして使えるかどうかで、今後の会社全体の競争力に大きな違いが出てくる」と考えた。生成AIの能力を社内で認知させるには、実際の業務で使うことが一番だ。そこで芹川氏は社内でのユースケースを分析し、“丸紅ならではの生成AI活用方法”を提案。生成AIを、会社としての競争力強化につなげようと考えた。
具体的な開発に入る前に芹川氏は「開発側の視点」だけでなく「ユーザーの視点」にも注目した。
「ユーザーとして生成AIを使いこなすことが重要なため、ユーザー自身が大規模言語モデル(LLM)の特性を習熟して実業務に合う形でユースケースを組み立てられるようにする必要があります。そうすることで、他社ビジネスを評価したり自社の新しいビジネスを考案したりする際に役立てられるからです」(芹川氏)
こうした考えの下で開発されたMarubeni Chatbotは、ユーザーがユースケースに適したアプリケーションを選択できるようになっている。通常のチャットbot機能に加え、ファイルの読み込み、Web検索、音声認識、画像生成などの機能を備えており、ユーザー自身が社内向けにbotを構築して公開できる「コミュニティー機能」も実装した。
シンプルなチャットbot機能部分は、「Amazon Bedrock」で構築した。PDFや「Microsoft Word」「Microsoft PowerPoint」などのファイルを登録しておけば、ファイルの中身を加味した回答を生成させることができる。「ポイントは、非生成AIの技術とも接続させることで、ファイルを丸ごと翻訳する、ファイルそのものを加工するなどの機能も備えていることです」と芹川氏は説明している。
カスタムチャットbot機能を使うと、ユーザーが登録したデータを基にした「ユーザー独自のチャットbot」を構築できる。例えばデジタル・イノベーション室に関する情報をQA形式で登録すれば、同部署に関する質問にすらすら答えるチャットbotを構築できる、というわけだ。これで部署内でのノウハウの蓄積、部署における問い合わせ機能の自動化など、企業内で必要な幅広いユースケースをカバーできるという。
業務システムに必要な認証基盤には「Amazon Cognito」を利用している。バックエンドのAPIは「Amazon API Gateway」で受け取り、「AWS Lambda」で処理する。AWS Lambdaから「Amazon DynamoDB」のデータを参照し、チャットbotの回答を生成する際には、Amazon Bedrockや他のLLMのAPIエンドポイントを呼び出している。「サーバレスサービスなどを前提として組み合わせ、拡張性についての考慮は最小限で済み、運用も簡素化されデプロイも迅速だ」と芹川氏は説明している。
Amazon Bedrockは主に2つのアプリケーションで活用している。1つ目はシンプルなチャットbotだ。Amazon Bedrock上のAIチャットサービス「Claude 2」を呼び出し、生成した回答をユーザーにストリーミングで返している。2つ目が音声文字起こし機能付きのチャットbotだ。文字起こしに「Amazon Transcribe」を使い、出力文字列の成形、議事録の構築にはClaude 2を利用している。芹川氏はAmazon Bedrockを使うメリットとして「ClaudeのLLMを簡単にアプリケーションに取り込めること」を挙げる。
Marubeni ChatbotにはRAG(検索拡張生成)機能も組み込んでいる。ユーザー自身が任意のドキュメントを登録し、それをデータソースにして回答させることが可能だ。登録時にはドキュメントを「チャンク」(Chunk)に分割し、言語モデルによりチャンクを「エンベディング・ベクトル」(Embedding Vector)に変換して、それをベクトルデータベース「Pinecone」に保存する。質問文から検索用エンベディングを計算し、ベクトルデータベースから質問内容に近い登録情報を取得、それをLLMコンテキストとして渡し回答を生成するという仕組みだ。
Marubeni Chatbotは少ない開発メンバーで開発し、早期にリリースした。2023年3月から開発に着手し、同年4月にはβ版を社内の一部に公開。その3カ月後には全社に、2023年末には国内グループ会社に公開した。現在は海外拠点にも展開しているという。
「開発メンバーは実質1人、しかも1カ月程度で初期バージョンのリリースを実現しています。これを可能にしたのはAWSのサービスを組み合わせたことが大きな理由です」と大倉氏は振り返る。
だが当然、全て順調に進んだわけではない。大倉氏はMarubeni Chatbot開発における主な課題(苦労した点)を3つ挙げる。
1つ目は「変化の速さ」だ。生成AIを取り巻く環境の変化は速く、日々新しいモデルやテクニックが出てくる。プロジェクトもその変化に追い付く必要がある。ただ、これについてはCI/CD(継続的インテグレーション/継続的デリバリー)の構築をはじめとするアジャイル開発のプラクティスを採用することで対処できた。
2つ目は「開発体制のスケーリング」だ。同プロジェクトは社内外での注目度が高まっており、体制を拡張する必要があった。だが、「生成AIの知見があり、ソフトウェア開発もできるエンジニア」が少なく、人員確保には苦労しているという。
3つ目は「言語モデルに起因する不具合」だ。コアとなる機能はLLMになるが、モデルの性能や呼び出し用APIの安定性が不安定な部分があり、それに起因してアプリケーションが動かなくなる不具合が時折発生した。「幸い社内向けのプロジェクトだったため、実験的なシステムであるとの認識を共有することで理解を得ているが、今後、社外向けのシステムとする際には、これは避けて通れない大きな課題になる」と芹川氏は指摘している。
技術は日々進化しており、これまでできなかったものが急にできるようになることもある。「そのような際に、いち早く動けるように最先端技術を常に追い続け、今後可能となる分野への嗅覚を洗練させたい」と大倉氏は語った。
Copyright © ITmedia, Inc. All Rights Reserved.