AIはどのような仕事ができるようになったのか?ChatGPTで変わる「優秀な人材」

ところてん
Aug 16, 2023

この怪文書は、情報処理学会が発行する情報処理2023年8月号に掲載された記事を、筆者が自ら転載したものです。

この文章は2023年5月に書かれました。LLMは日進月歩であり、私の物事の理解もその当時のレベルのものです。また本章の一部は大幅に改稿されて、ChatGPT攻略の2章で使われています。

機械学習技術の地図

ChatGPTを始めとする生成的AIが出てきたことで、IT産業は新たな局面に入ったと考えています。以下の図は機械学習が産業利用される以前の業務分担図です。横軸にミスの許容可能度、縦軸に入出力の複雑さをとったものです。

この図はざっくりと3つの領域に分かれます。まず左下が従来のプログラミングの領域です。これは簡単に言うと「プログラムは間違ってはいけない定形な仕事を奪う」ということです。次にその上の士業が責任を取る領域です。これは「責任」を取る人がいないと成立しない仕事です。ミスが発生した際に罰則を与えるという形で、ミスの発生を防いでいます。最後に右側のホワイトカラーの仕事の領域です。ホワイトカラーの仕事は入出力が不定形であり、作業フローも非定型であったりします。そのため、多少のミスはあっても仕方ないという前提の上で仕事が行われています。

機械学習がビジネスに組み込まれるにつれ、ホワイトカラーの仕事領域はそれらによって少しずつ代替されつつあります。その図がこちらになります。

ホワイトカラーの担っていた領域は、表データの機械学習(重回帰や、Lasso回帰、SVM、RandomForest、LightGBMなど)、ディープラーニング、生成的AIによって代替されつつあります。ChatGPTを始めとする生成的AIが話題なのは、最後までホワイトカラーが担っていた「入出力が不定形で正解があやふやな仕事」に対して、IT産業がリーチできるようになったからだと考えています。本稿ではAI技術の進歩を踏まえて、価値のある人材がどのように変化していくのか、という話をしていきます。

従来のIT産業

従来のIT産業では、人間が行っている業務の中から、いかに入出力が定形なものを見つけて、それを切り出して自動化していくのか、ということに苦心していました。つまり図の左下の領域を対象としていたのです。

例えば会計などがいい例です。正しい入力をもとに、数値の四則演算を完璧に行い、正しい計算手順で、正しい結果を導き出す仕事です。会計のような数値をベースした仕事から順にIT化されていき、現在では「何が入力されて、何が出力されるのが正しいのか」を適切に「要件定義」することで、入出力が不定形なものを無理やり定形化して、プログラミングによって自動化していくということが行われています。IT産業とは不定形なものを無理やり定形化して、プログラムで実現可能なものを増やしていく活動だったのです。

IT産業における優秀な人材とはプログラミングができることは大前提としたうえで、「不定形な業務プロセスから定形なものを作り出す能力」「間違ってはいけない部分を発見する能力」でした。つまり業務プロセスを整備できる人が強い人だったわけです。

機械学習の普及、ディープラーニングへ

一方でミスが許容可能なビジネスにおいては、機械学習が利用されるようになりました。商品のレコメンドや、表示する広告の選定などが「ミスが許されるビジネス」にあたります。このほかにも与信や貸倒率、死亡率の推定などの統計的にしか分からないことも「統計的にあっていればよい」ため、これに該当します。旧来のオペレーティングリサーチが担っていた領域ともいえます。

2006年ごろから続いているディープラーニングブームとは何だったのか?というのも、この図を使うと簡単に説明ができます。ディープラーニングは従来の表データに対する機械学習と比べて、極めて多次元のデータを受け入れられるようになったことが特徴だと考えています。従来の機械学習はたかだか数百次元のデータしか処理することができませんでした。これに対してディープラーニングは画像や音声、映像など、何万、何億次元ものデータを受け入れることが可能になり、機械学習の適用範囲は大きくなっていきました。その結果、様々な新しいビジネスが成立するようになり、従来ホワイトカラーが担っていた仕事がAIによって取って代わられつつあります。

機械学習ビジネスにおいて優秀な人材とは「業務の中から確率的に間違ってもよいプロセスを見つけ出し、機械学習に置き換える」ことができる人物です。

たとえば、確率的に間違っても良いプロセスを上手く見つけ出した事例として、EVERSTEEL社を紹介します。同社は鉄スクラップを撮影し、ステンレスや真鍮、電動モーター(中身は銅線)などを発見する製鉄所向けのサービスを提供しています。鉄のリサイクルでは0.4%以上の非鉄金属が混ざると不良品になってしまうそうですが、これは0.4%までは異物混入しても許容されることを意味しています。このように確率的に間違えても許されることを発見することが、機械学習のビジネス導入の肝なのです。

トランスフォーマーの登場、生成的AIへ

ディープラーニングの技術が発展していった結果、トランスフォーマーという新しい仕組みが生まれました。ざっくりとした説明をすると、次にどのような単語が来るのが妥当かを予測することで、前後の文脈を踏まえた出力が行えるようになったものです。そして、次の単語を予測するという技術を突き詰めた結果、自然な受け答えができるある種のAGI(Artificial general intelligence、汎用人工知能、人間と同様の推論や受け答えができる人工知能)と呼んで差し支えない性能にまで到達しました。これがGPTであり、GPTを対話型に拡張したものが昨今話題のChatGPTです。

ChatGPTの登場により大きく変わったことは、自然言語のような不定形な入力から不定形な出力が行えるようになったことです。この結果、プログラムを取り扱えない人でも生成的AIが取り扱えるようになり、人間が受容可能な出力が直接行えるようになったのです。別の言い方をすると、物事を定形化するスキルが無い人にもAIが利用可能になったのです。

この結果、ホワイトカラーが行ってきた多くの仕事が取って代わられようとしています。現にChatGPTは、文章の要約、データ分析、メールの作成、企画書の作成、ブログ記事の作成、翻訳、校正、といった仕事を一瞬で行ってくれることが知られています。教育でさえも、ChatGPTと対話しながら自分が分からないことを質問攻めにすることで、効率よく学習できるようになりました。

この時代の優秀な人材とは、従来の確率的にあっていれば良い領域を見つけだす能力に加えて、「AIに対して過不足のない指示を行えること」「特定の問題に合わせたプロンプトをいかに作るのか?」「学習済みのモデルをいかにうまく使いこなして、いかに素早くプロトタイプを作るか?」といった能力を持っている人だと考えています。

生成的AI時代の「プログラミング」

ChatGPTでは、プロンプトエンジニアリングにより様々な機能を簡単に実装することが知られています。そのため、ChatGPTを適切に使いこなすだけで、極めて短い時間でそれなりに動くものが作れてしまいます。たとえば、次のようなプロンプトを作ることで、文章の難易度の推定器を作ることが出来てしまいます。

以下の文章を読み、文章の難しさを10段階評価してください。1を小学一年生レベル、10を大学の文学部のレベルとしてください。
###
{ここに評価したい文章を入れる}

このプロンプトに芥川龍之介の「羅生門」の冒頭を入れてみると難易度は5(小学校高学年相当)、童話の「おおきなカブ」では1(小学校一年生相当)、評論家の吉本隆明の文章では8(文学部レベル)と評価されました。そのため、この文章難易度推定器は比較的妥当な結果を返していると分かります。余談ですが、私は吉本隆明の文章は難しすぎて読解することができませんでした。

文章難易度推定器を作るには、本来であれば多様なコーパスを収集し、人間がアノテーションを行い、適切な機械学習を行わなければ作ることは難しいでしょう。しかし、ChatGPTを用いると、これが一瞬で作れてしまうのです。もちろん精度はちゃんと作ったものと比べて悪いでしょう。しかし、精度が悪くても成立するような分野ではこれで十分だったりします。

では、精度が悪くても成立する分野とはどこでしょうか?それは新規事業において、事業価値を確かめるようなプロトタイピングが真っ先に挙がります。プロトタイピングは精度が悪くともコンセプトの価値が確認できれば良いので、ChatGPTを使って短時間に実装することに高い価値があるのです。

ChatGPTを使うことで、入出力が不定形な複雑な処理であっても、ChatGPT(prompt, input_string)という関数を用意することで、一瞬で実装出来てしまうのです。これが次の時代の「プログラミング」となっていくでしょう。

新規事業における「プログラミング」の変化

このような「プログラミング」が普及してくると、新規事業の作り方は大きく変わっていくでしょう。この萌芽としてLangChainやGuidance、AutoGPTといった、ChatGPTを処理プロセスの一部として活用するライブラリが登場しています。

従来であればペーパープロトタイピングを行っていたり、モックを作っていたりする時間が、プロンプトエンジニアリングに置き換わり、実際に動作するものが出来上がってしまう時代が来たのです。どのようなプロダクトが欲しいのかの要件定義や仕様書を書きだしていると、気づいたら動くものが出来上がってしまう、そういうことも起こりえるでしょう。

そのため、生成的AIが普及した時代の新規事業の立ち上げ方は、次のような流れになっていくでしょう。

  • 確率的にあっていればよく、不定形な入出力が行われている箇所で、自動化のニーズを探す
  • プロンプトエンジニアリングによりプロトタイプを作る
  • プロダクトの可能性を見せ、顧客を集める
  • 顧客評価をもとに資金調達を行う
  • ChatGPTで作っていた部分を普通のプログラミング言語で書き直し、精度や信頼性を向上させる

ChatGPTで作られた「プログラム」には、ハルシネーションや実行速度の問題があるため、実用に供するためには書き直しが必要になってくるでしょう。現在のプログラミングスキルは、この段階になって初めて必要になるスキルとなるかもしれません。

ChatGPT製「プログラム」の書き直し

近い将来にChatGPTなどの生成的AIは現在のLL:Lightweight Languageと同じようなポジションになると考えています。PythonやPerl、RubyなどのLLは書きやすく生産性が高いため、現代の多くのウェブサービスで利用されています。C言語比で50~100倍遅い言語であっても、生産性のほうが優先されるのです。そして、LLで作られたプロダクトは、実行速度が必要な箇所のみCやRust、Goで書き直すといったことがよく行われています。

これと同じことがChatGPTでも起こると考えています。つまり、基本的にはChatGPT向けのプロンプトでプログラムを記述し、実行速度や信頼性が必要な箇所だけLLで書き直すのです。C言語比で100倍遅いLLが許容されていたのであれば、LL比で100倍(以上)遅いChatGPTが許されない道理はないでしょう。生産性と速度・信頼性のトレードオフが行われるはずです。

ChatGPTでは、数学サービスのWolframをプラグインを経由して呼び出すことで、数学関連の問題であればハルシネーションを起こさずほぼ確実に解けるようになりました。これと同じようにChatGPTと連携して、速度や信頼性を改善するようなアプローチが求められています。

この時代には優秀な人材とは、信頼性の低いプロンプトをプログラムに書き直し、信頼性を改善できる人という定義になるのではないでしょうか。

「優秀な人材」の定義の変遷、プログラマーの仕事の変化

ChatGPTを始めとする生成AIの登場によって、不定形な入出力が行われている業務まで、IT産業はリーチできるようになりました。その結果、「優秀な人材」の定義は急速に変化しつつあります。

  • 従来のIT産業:定形な業務を発見、定義すること
  • 機械学習:確率的にあっていれば良い業務を発見できること
  • 生成的AI:不定形な入出力を行っている業務を発見し、素早くプロンプトで実装すること
  • プログラムの書き直し:生成的AI用のプロンプトによって作られた信頼性の低い「プログラム」を普通のプログラミング言語で書き直して安定化させること

ChatGPTで上手く動作するプロンプトを書こうとすればするほど、動作主体を明確にし、手順を明確にし、対象を明確にしていく必要があり、最終的にはプログラムの仕様書に近いものになっていきます。つまり、ChatGPTは「仕様書」がそのまま動作するようなものです。そのため、「仕様書」を「プログラム」に書き直す仕事がこの次に生まれるわけです。

ここから考えるに、皮肉なことに、今のプログラマーたちが行っている「仕様を起こす」「仕様からプログラムを作成する」という仕事は、当分なくなりそうにありません。それどころか、次の時代の主戦場になるでしょう。

余録:エシカルデータの潮流

情報処理には、もうひとつ書こうと思っていた、別の話もあります。それがこちらの記事にあるエシカルデータの潮流です。これもChatGPT攻略に短縮版が収録されています。

--

--