
2025.08.01
災害大国・日本に求められる“命しか守れない防災”からの脱却 最長2週間先の気象災害予測による対応策
リンクをコピー
記事をブックマーク
深谷勇次氏(以下、深谷):「PyTorch × Azure × 自然言語処理 → ISID の AI 製品: TexAIntelligence の技術」と題して、電通国際情報サービスの3名が発表します。よろしくお願いいたします。
弊社、電通国際情報サービス、通称「ISID」と言います。ISIDは主に4つの事業セグメント、製造、金融、ビジネス、コミュニケーションを中心としてITのビジネスを展開している会社です。
ISIDは昔からAIのビジネス進めてきていますが、2020年に「より力を入れていこう」というメッセージも含めて“AIトランフォーメーションセンター”というものを設立し、よりお客さまにAIの技術を活用してDX、新規ビジネス革新につないでほしいと思っています。
私は、電通国際情報サービスの深谷と言います。ふだんはAIコンサルティンググループのマネージャーを実施しています。
AIの実社会への実装に際してですが、AIの不確実性の話があります。「これはどういうことだろう」ということです。AI、データ分析もそうですが、お客さまのデータは、特に未来のデータも含めて考慮していかなきゃいけないところがあって。そうすると、やはり“やってみないとわからない”という観点がAIにはあるわけです。
そういうAIに対してどういうプロジェクトが必要かというと、探索的段階的な推進の必要性があります。これは経産省とか、さまざまなところで言われていることです。
探索的段階的な進め方を実施していくと、やはり先が見えにくいとか、時間がかかってしまうところがあるわけです。そうなると、やはりお客さまから、導入効果が早く得られるAI製品を提供してほしいという話が昔からよくありました。
そのような背景から、我々は日々たくさんの文章を読んで業務している方々を、AIの技術で支援できないかといろいろ考えていました。
このような方々の業務がどういう流れかというと、たくさんの文章がありますと。それを日々読んでいるわけですが、過去の知見文書のデータなどを参考にしながら業務をしています。そういう業務の中では、やはりキーワードの検索では不十分みたいなこともあります。
あとは、文章をもとに情報を展開する方々に業務を依頼することも必要です。あとは、ビジネスを判断する方々に情報をまとめて提供することも必要になってきます。
そのようなビジネスの現場に適用するものとして、我々は「TexAIntelligence」を開発して提供しています。機能としては、大きく「意味的類似検索」「自動分類」「文章要約」というものがあります。
このTexAIntelligenceを先ほどの業務に適用すると、スライドのようになるわけです。過去の知見文書データに対して意味的に類似検索したり、自動分類を行うことで情報展開を早めたり、効率化する。あと、文章を要約することで、ビジネスを判断する方々によりわかりやすく説明できたりします。
このようなTexAIntelligenceですが、さまざまな場面に利用してもらえると我々は思っていて、特に今は、品質保証部門や、製品企画部門、コールセンターの方々に活用してもらっています。
TexAIntelligenceはサブスクリプションのライセンスですが、日々、定期的にバージョンアップしています。2021年の1月にBERTの搭載も実現しています。
このようなTexAIntelligenceの技術を、今日は発表します。TexAIntelligenceはやはり製品なので、単なるプロトタイプじゃないところがありなかなか難しいところがあることの背景も踏まえ、後藤とファイサルから発表します。よろしくお願いいたします。
後藤勇輝氏(以下、後藤):それでは発表者代わり、私後藤から「ソリューション内でのAzure活用方法の解説」ということで発表します。よろしくお願いします。
まず簡単に自己紹介させてください。私は名前を後藤勇輝と言い、所属は深谷と同じく電通国際情報サービスのAIトランスフォーメーションセンターに所属しています。現在の業務としては、自社AIソフトの開発であったり、機械学習の案件の技術担当であったり、機械学習関連の研究開発などを行っています。
その他ということで個人的な活動として、2021年に入り書籍『PyTorch実践入門』を翻訳・出版しました。そのほか、QiitaやTwitterなども行っています。
それでは本題に入ります。自然言語処理ソフトウェアTexAIntelligenceでのAzureの活用実態について発表します。
初めに、TexAIntelligenceのシステムのインフラ構成図になります。この図でわかるように、TexAIntelligenceはすべてAzure上で構成されています。
こちらすべてを載せているわけではないのですが、基本的にはスライドのようなパーツでTexAIntelligenceは構成しています。ストレージアカウント上に静的サイトをホスティングして、そのほかにデータベースであったり、アプリケーションサーバー、そして機械学習を行うサービス群といったような構成になっています。今回はまずアプリケーションサーバーの部分を説明します。
アプリケーションサーバーの6つの特徴ということで、先ほどのアプリケーションサーバーを詳しく中身を示したものがこの図です。
アプリケーションサーバーの中には、まずNGINX、Webサーバーがあり、クライアントからの情報を受け取ります。その後、具体的な処理はDjangoとDjango REST frameworkを用いて処理を行います。ここまではよくあるWebアプリケーションの中身だと思いますが、ここからが少し違って、今回TexAIntelligenceはAI製品ということで、学習や推論処理といった、比較的時間のかかる処理が存在します。
そういった処理ではレスポンスをすぐクライアントに返せないため、非同期処理が必要になります。
それを実現するのが、ブローカーであるRabbitMQと、実際に非同期処理の実施などを行うCeleryです。これらを使って非同期処理を行っています。
また、右側にあるのが、AzureのデータベースであるPostgreSQL。そしてログを収集するためのAzure Log Analyticsです。このように、Azureのサービスを使うことで、導入や開発のコストを下げて実装を行えました。
今少し簡単に説明しましたが、より詳しい説明を次のスライドに記載しているので、ご覧ください。
続いては、マシンラーニング・サービス部分の説明に入りたいと思います。マシンラーニング・サービスの2つの特徴ということで特徴を2つあげていますが、今回は時間の都合上、特徴の1つ目だけを説明します。
今回TexAIntelligenceのAI部分に関しては、Azure Machine Learningサービスを利用しています。AIサービスの実現のためには、普通のアプリケーションとは違うさまざまな難しさがあります。そういったAI製品特有の難しさというのを、Azure Machine Learningサービスを使うことで低減できます。
例えばモデルの管理であったり、学習データの管理といったものを、Azure Machine Learningサービスを使うことで、ソフトウェアに簡単に組み込めます。
こちらがマシンラーニングを使った際のTexAIntelligenceの挙動を、少し詳しく説明した図です。まず①の部分です。バックエンドのDjangoからデータセットをAzureのBLOBに登録します。その後、学習が走る際は、先ほど説明したように非同期処理が実行されます。
そして訓練のプログラムが計算サーバーのデータサイエンスVM(Data Science Virtual Machines)のほうに渡り、そこで実際に学習などの処理が行われます。
学習が終了すると、学習済みモデルを再びBLOBにアップロードして、その後推論を行う際には、このモデルをバックエンド側でダウンロードして推論を行うという流れになっています。ここまでがTexAIntelligenceのシステムのインフラ構成の内容になります。
続いては「AIソフトウェアのアジャイル開発過程におけるAzure活用方法」ということで、Azure DevOpsと、実際にそれを使った実装の流れについて説明します。
まずAzure DevOpsです。こちらは開発に必要なサービスを統合したプラットフォームです。スライドに示したように、Azure DevOpsの中には例えばタスク管理ツールである「Boards」というチケット式でタスク進捗を管理する機能であったり、CI/CDツールである「Pipelines」、そしてソースコードを管理する「Repos」などがあります。
そして下に記載しているのが、Azure DevOpsサービスのほかに今回の実装で使用したツールです。コミュニケーションツールとして「Teams」、そして開発用のコードエディターとして「Visual Studio Code」を開発チームでは使用しています。
実装の流れに入る前に、まずは現在の開発体制について少し説明させてください。現在の開発体制ということで、私たちのチームでは現在週に3日、開発用チャネルをTeams上で用意して、メンバー全員がそのチャネルで通話状態にして開発を行っています。
基本的に私たちのチームでは外部発注などは行わず、有識者を社内から横断で集め、完全内製化のスクラム体制で開発を行っています。
画像にあるのがコロナ前の開発体制です。以前はこのようにアジャイルスペースに集まって開発を行っていましたが、コロナ後は右に示す画像のように、Teams上で完全リモートの開発を行っています。
では実際にどのように開発を行っているか、その流れを説明します。開発の流れということで、基本的にはAzure DevOpsですべて完結しています。はじめにタスク管理を先ほどのBoardsで行い、必要な機能や実装しなければいけない機能を開発メンバー個々人に割り当てます。
その後、開発はVisual Studio Codeを使って行います。リモート体制になってからは拡張機能の「Live Share」という機能を使い、言葉では説明しづらいコードの部分はLive Shareを使って実際にコードを書いて見せる、ということを行って対応しています。
コード管理の部分では先ほどご説明したReposにGitで管理されているので、コードをPushなどするとPipelinesのほうに移り、CI/CDが実行されます。このCI/CDの結果などはTeams上に再び通知されるといったように、本当にAzure DevOpsのみで完結する開発の流れになっています。
ここでAzure DevOpsの使用例ということで、Pipelinesの実際どのように構築しているかを見せます。Azure DevOpsの画面はこのようになっています。BoardsやReposがあり、今回見せたいのがPipelinesの画面になります。
Pipelinesでは、CI/CDをGUIベースで組み込めます。これによって本番環境の違いを意識せずに、ストレスなく開発できました。Azureを使った開発の流れはここまでになります。
(次回につづく)
続きを読むには会員登録
(無料)が必要です。
会員登録していただくと、すべての記事が制限なく閲覧でき、
スピーカーフォローや記事のブックマークなど、便利な機能がご利用いただけます。
すでに会員の方はこちらからログイン
名刺アプリ「Eight」をご利用中の方は
こちらを読み込むだけで、すぐに記事が読めます!
スマホで読み込んで
ログインまたは登録作業をスキップ
関連タグ:
2025.09.08
部下が不幸になる上司のNG行動5選 マネジメントは「自律と統制」のバランスでうまくいく
2025.09.10
人生の差は20代で決まる “指示待ち人間”で終わらないために積むべき4つの経験
2025.09.16
日本人が英語学習で苦戦する根本的原因 「言いたいことの順番」が真逆になる英語と日本語
2025.09.10
「やりたいこと」はないが「課題解決」自体を楽しめる人 Googleの「優秀なエンジニア」の定義
2025.09.04
「管理職になりたくない問題」の原因は上司にもある 部下の昇進意欲を削ぐ行動
2025.09.16
“できる仕事のキャパが10倍になった” 東証上場社長を変えた習慣「ピッパの法則」の効果
2025.09.11
自分の得意・不得意がわかるワーク 人生を再設計する「ライフキャリア」の見つけ方
2025.09.17
英語ネイティブは「would」をどう使っているか? 「Do you like〜」と「Would you like〜」の違い
2025.09.12
“起業が向いている人”と”経営が向いている人”は違う DMM亀山会長が語る、新規事業の生み出し方
2025.09.09
“指示待ち社員”から「自分で考え、動く社員」に育てる方法 セルフリーダーシップの発揮に重要な3つのアプローチ
管理職は罰ゲームではなかった!マネジメントスキル、リーダーシップは財産に!
2025.07.31 - 2025.07.31
後回しを断ち切り“すぐやる人”になる最速メソッド|東証上場社長実践の後回し撲滅法
2025.06.24 - 2025.06.24
「因数分解! 売れない理由は、“売り方”じゃなく “見方”にある」 ~マーケティング×ビジネス数学で、売上を動かす本質をつかむ~
2025.08.06 - 2025.08.06
【板挟みに苦しむ管理職へ】忙しさから“本当に抜け出す”唯一の方法
2025.07.09 - 2025.07.09
「英語OS」を身につけよ! −思考プロセスをアップデートし、英語学習の遠回りを終わらせよう!
2025.07.05 - 2025.07.05