開発・運用の基盤:MLOpsと道具立て
AIを作り、動かし続けるための道具立てと考え方を学びます。基礎層では、AIを作る人であるデータサイエンティスト、分析の道具であるPythonとJupyter Notebook、そして決まった手順で進めるCRISP-DMをつかみます。深掘り層では、作って終わりにしないMLOpsの考え方、動かす場所であるクラウドとDockerとWeb APIまでを説明できるようになります。
ねらい
このレッスンでは、AIを作り、動かし続けるための道具立てと考え方を学びます。
基礎
AIを作る人であるデータサイエンティスト、分析に使うPythonとJupyter Notebook、そして決まった手順で進めるCRISP-DMを身近な例でつかみます。
1. AIを作るのは、どんな人か
AIを作る仕事の中心にいるのが、データサイエンティストです。データサイエンティスト(data scientist)とは、データから役に立つ知見を引き出し、AIのモデルを作る専門家のことです。
この仕事には、はば広い力が求められます。数学や統計の知識、AIのしくみへの理解、データを扱うプログラムを書く力が必要です。それに加えて、解決したい仕事の課題を理解する力も欠かせません。前のレッスンで学んだように、AIは課題解決の道具だからです。課題を分からないまま、数字だけをいじっても、役に立つAIにはなりません。
データサイエンティストは、1人ですべてをこなすとは限りません。データを整える人、システムを作る人、業務をよく知る人と、力を合わせて働きます。AIプロジェクトは、いろいろな専門を持つ人たちの共同作業です。
ポイント
データサイエンティストは、データからAIのモデルを作る専門家です。統計やプログラムの力に加えて、解決したい仕事の課題を理解する力も欠かせません。
2. 分析の道具:PythonとJupyter Notebook
AIを作るとき、多くの現場で使われている道具があります。プログラミング言語のPythonです。
Python(パイソン)は、AIやデータ分析の分野で、最もよく使われているプログラミング言語です。文法が読みやすく、AIを作るための便利な部品が数多く公開されています。この部品を組み合わせることで、AIの開発を早く進められます。多くの人が使っているため、困ったときの情報も見つけやすくなっています。
Pythonと合わせてよく使われるのが、Jupyter Notebookです。Jupyter Notebook(ジュピター・ノートブック)とは、プログラムを少しずつ書いて、その場で結果を確かめられる道具です。書いたプログラムと、その実行結果や、途中の説明を1つのノートのようにまとめて残せます。
この「少しずつ試せる」という性質が、データ分析にとても向いています。データを見て、少し計算し、結果を見て、また次を試す、というくり返しをなめらかに進められるからです。実験のように手を動かしながら考える作業に、Jupyter Notebookは役立ちます。
ポイント
Pythonは、AIやデータ分析で最もよく使われるプログラミング言語です。Jupyter Notebookは、プログラムを少しずつ書いて、その場で結果を確かめられる道具です。
3. 決まった手順で進める:CRISP-DM
データを使った分析の仕事には、多くの現場で参考にされている進め方の型があります。CRISP-DMです。
CRISP-DMとは、Cross-Industry Standard Process for Data Mining(クロス・インダストリー・スタンダード・プロセス・フォー・データマイニング)の頭文字をとった言葉で、クリスプ・ディーエムと読みます。業種をまたいで共通に使える、データ分析の標準的な手順、という意味です。
CRISP-DMは、分析の仕事をいくつかの段階に分けて示します。おおまかには、次のように進みます。
- まず、解決したい仕事の課題を理解します。
- 次に、手元のデータをよく調べて理解します。
- それから、データを分析に使える形に整えます。
- 整えたデータで、AIのモデルを作ります。
- できたモデルが役に立つかを評価します。
- 十分なら、実際の仕事の中で使いはじめます。
大切なのは、この手順が一本道ではない、という点です。評価してみて物足りなければ、前の段階に戻ってやり直します。データを理解し直したり、モデルを作り直したりしながら、行き来して進めます。試しては直すというくり返しは、前のレッスンで学んだアジャイルの考え方にも通じています。
このCRISP-DMを機械学習の開発に合うように整えた進め方も提案されています。それがCRISP-MLです。CRISP-ML(クリスプ・エムエル)は、CRISP-DMの考え方を受けつぎ、機械学習で特に大切になる段階を補ったものです。とりわけ、作ったモデルを動かしはじめたあとの、見守りと手入れの段階を重く見ている点に特徴があります。
ここまでの要点
- AIを作る中心にいるのはデータサイエンティストで、統計やプログラムの力に加えて課題を理解する力が要ります。
- 分析にはPythonという言語と、少しずつ試せるJupyter Notebookという道具がよく使われます。
- データ分析には、CRISP-DMという決まった手順があり、それを機械学習向けに整えたCRISP-MLもあります。
まずは全体像をつかめれば十分という人は、ここで区切って大丈夫です。「データサイエンティストが」「Pythonなどの道具で」「CRISP-DMという手順にそって作る」と押さえられていれば、この先の深掘りに進む土台はできています。
発展
ここからは、AIを作ったあとに動かし続ける考え方と、動かす場所のしくみをもう少しくわしく見ます。前提となる知識がなくても読めるように書きますが、内容は運用の現場に近づきます。
4. 作って終わりではない:MLOps
AIは、作りあげて実際に使いはじめたときが、本当の始まりです。動かし続けるうちに、少しずつ困りごとが出てきます。
大きな困りごとは、性能がだんだん落ちていくことです。AIは、過去のデータから学びます。しかし、世の中は変わり続けます。パン屋さんの例なら、近くに新しい店ができたり、人々の好みが変わったりします。すると、過去のデータで学んだ予測が、だんだん当たらなくなります。この、時間とともに実態がずれて性能が落ちる現象への手当てが要ります。
そこで生まれた考え方が、MLOpsです。MLOpsとは、Machine Learning Operations(マシン・ラーニング・オペレーションズ)を縮めた言葉で、エムエルオプスと読みます。機械学習のモデルを作るだけでなく、動かし続け、手入れし続けるための考え方と、そのしくみを指します。
MLOpsでは、動かしているAIの調子をいつも見守ります。予測がどれくらい当たっているかを測り、性能が落ちてきたら、新しいデータで学び直させます。この「見守って、必要なら学び直す」という手入れをなるべく自動で、くり返し行えるように整えます。人が毎回手作業で確かめていては、間に合わないからです。作って渡して終わり、ではなく、動かし続けることに責任を持つ。これがMLOpsの精神です。
理解の確認
MLOpsとは、機械学習のモデルを作るだけでなく、動かし続け、手入れし続けるための考え方としくみです。AIは、世の中の変化によって性能が落ちていくため、調子を見守り、必要なら新しいデータで学び直させる手入れが欠かせません。この手入れをなるべく自動でくり返せるように整えます。
5. どこで動かすか:クラウドとDockerとWeb API
AIを動かすには、計算する場所が必要です。ここでは、その場所とつなぎ方に関わる3つの言葉を見ます。
1つ目は、クラウドです。クラウド(cloud)とは、自分で機械を持たずに、インターネットの向こうにある他社の計算設備を必要なだけ借りて使うしくみです。AIの学習には、たくさんの計算の力が要ります。高価な機械を自前でそろえる代わりに、クラウドで必要なときだけ借りれば、初めの負担を抑えられます。使った分だけ支払う形が多く、規模を柔軟に増やしたり減らしたりできます。
2つ目は、Dockerです。Docker(ドッカー)とは、プログラムと、それを動かすのに必要な設定や部品をまとめて1つの箱に入れて持ち運べるようにするしくみです。AIのプログラムは、動かす環境が少し違うだけで、うまく動かないことがあります。必要なものをひとまとめにして箱に収めておけば、開発した場所でも、動かす場所でも、同じように動きます。引っ越しのときに、荷物を箱に詰めておけば、どこへ運んでも中身がそろっているのと似ています。
3つ目は、Web APIです。Web API(ウェブ・エーピーアイ)とは、作ったAIの機能をほかのプログラムから呼び出して使えるようにする窓口です。APIは、Application Programming Interface(アプリケーション・プログラミング・インターフェース)の頭文字です。たとえば、画像を送ると、それが何の写真かを答えて返す、という窓口を用意します。すると、別のアプリやサービスが、その窓口を通してAIの力を借りられます。AIの中身を知らなくても、窓口に頼めば答えが返る、という形にしておくと、いろいろな場面でAIを使い回せます。
これら3つは、AIを実際に動かし、多くの人に届けるための土台です。クラウドで場所を借り、Dockerで環境ごと運び、Web APIで外から使えるようにする。この土台があってこそ、作ったAIが仕事の役に立ちます。
理解の確認
クラウドとは、他社の計算設備を必要なだけ借りて使うしくみで、初めの負担を抑えられます。Dockerとは、プログラムと必要な部品をまとめて箱に入れ、どこでも同じように動かせるようにするしくみです。Web APIとは、作ったAIの機能をほかのプログラムから呼び出して使えるようにする窓口です。
6. LLMOpsとRAGの運用
ここからは、現在の話題に触れます。運用の考え方が新しい技術にどう広がっているかを知ると、理解が深まります。
大規模言語モデルを使ったサービスが広がるにつれて、それを動かし続けるための工夫も生まれています。この、大規模言語モデル向けの運用の考え方をLLMOps(エルエルオプス)と呼ぶことがあります。MLOpsの考え方を言語モデルの特有の事情に合わせて広げたものです。
たとえば、言語モデルに社内の資料を参照させながら答えさせる使い方があります。この使い方を支えるために、文章を数のならびに変えて蓄え、意味の近いものを素早く探し出すしくみが使われます。この蓄えのしくみをベクトルデータベースと呼びます。文章を検索して、その内容をもとに答えさせるこうしたしくみは、検索拡張生成と呼ばれます。そのしくみの詳しい中身は、自然言語処理の応用を学ぶレッスンであらためて扱います。ここでは、こうした新しい使い方にも、動かし続けるための運用の工夫が要る、という点をつかんでおいてください。
理解の確認
MLOpsの考え方は、大規模言語モデルの運用であるLLMOpsへと広がっています。言語モデルに資料を参照させる使い方では、意味の近い文章を探すベクトルデータベースが使われます。新しい技術でも、作って終わりにせず動かし続ける、という運用の考え方は共通しています。
理解度の確認
説明できる項目にチェックを入れましょう。すべて確認できたら、完了ボタンで記録します。
分からなかった点・気になった点
読み込み中です。