・AIを勉強したいと思っている人
・AIを専門に手に職をつけたいと考えている方
・AIエンジニアの大変さを知りたい方
など
どうもこんにちは。
コンです。
近年、爆速に進んでいるAI技術の進化は、意味がわからんほどに私たちの生活を色々と変えていきました。
そうした進化の中でも、AIエンジニアは現代社会において最も注目されている職業の一つです。
AIエンジニアと言われると、かっこいい感じがするかもしれません。
しかし個人的に、AIエンジニアが抱える苦しみについてあまり語られることがあまり無いように感じます。
今回は、私自身も感じるところや、周りのAIエンジニアも苦しんでいるような事柄について記事にしてみようと思います。
AIエンジニアとしての苦労
どんな仕事であれ、何かしら仕事で大変なことや、苦痛に感じるようなことはあると思いますが
今回はAIエンジニア特有だと感じることを書きます。
AIエンジニアとしての仕事は、その分野がまだ比較的新しいこともあって、これまでに無い様々な苦労があります。それらは主に
・「AIに関係する苦労」:AIのアルゴリズムやプログラミングなどAI専門に関する苦労
・「AIに関係ない苦労」:その他
の2つに分類されると思います。
その中でも最も苦労する、「AIに関係のない苦労」について書いていこうかと思います。
AIに関係ない苦労
AIエンジニアは、人工知能の専門家であるだけでなく、沢山のスキルや知識を有していることが求められます。それらは一朝一夕で身に付くものではなく、長い経験と苦労を重ねることで身に付けるものです。
1. ドメイン知識への理解
AIに関する仕事の多くでは、機械学習の知識だけでなく、ドメイン知識にも精通していることが求められます。
ドメイン知識とは、ある特定の分野に関する専門的な知識のことです。
たとえば、医療分野でのAIの利用には、医療従事者が持つ知識が必要になります。
他の例では、金融分野でのAIの利用には、金融商品や金融市場に関する知識が必要になります。
つまり、ドメイン知識は、AIを適用する分野に必要な専門的な知識のことを指します。
ドメイン知識を持つAIエンジニアは、プロジェクトの成功に重要な役割を果たします。
例えば問題定義などの受流工程において、ドメインの専門知識を持つAIエンジニアがいることで、プロジェクトの目標を達成するために必要な技術的な判断をすることができます。
私もこれまでにに材料の学術分野や製造業の課題を理解し、ソリューションを提供してきました。
しかし、AIの知識とドメイン知識の両方を学ぶことは非常に多くの時間と体力を奪われます。
どの業種も専門1本という仕事は少ないのかもしれませんが、
私の経験上、とても苦労することの1つなので取り上げました。
2. データの取得と前処理
ドメイン知識で苦労しているのに加えて、データの収集、整形、前処理などの作業を大量に行う必要があります。多くの企業ではAIエンジニアがこの作業をしていると思います。
データ収集をする際には、前述のドメイン知識に加えて、
「どういうハードを使う?」「周期や期間は?」「何を対象にする」
などを考えなくてはいけません。
また、自分1人でデータを取得できないことも多く、作業従事者とコミュニケーションを取ったり、データ取得許可を取ったりしなくてはなりません。
自分でデータを能動的に収集しない場合でも、データが不十分であったり、あるいは不適切な形式で提供されたりすることがあります。
そのため、エンジニアは大量の時間を費やして、データを取得し、クリーンアップする必要があります。
昨今新しいアルゴリズムが生まれていき、AIの精度・能力はどんどん向上していますが
基本的には「学習させるデータ」こそがAIの能力の肝になるのでこの作業はかかせません。
3. 高いコミュニケーションスキルとスケジューリング能力
高いコミュニケーションスキル・スケジューリング能力が必要な理由として、AIは精度・能力を保証することが難しいという点があります。
AIの品質に関しては、AIプロダクト品質保証コンソーシアムが定めた「AIプロダクト品質保証ガイドライン」や産業総合技術研究所がが定めた「機械学習品質マネジメントガイドライン」などが色々とAIの品質について書いてくれています。例えば
AI プロダクトの品質を保証するためには、良くも悪くも顧客の期待が高いかどうかが重要となる。良い意味で顧客の期待が高いと品質保証をしっかりやる必要があるし、悪い意味で顧客の期待が高いと AI プロダクトの特性についての理解が乏しい顧客によって品質保証が困難になるリスクに対処することになる。
AIプロダクト品質保証ガイドライン
通常のソフトウェアシステムに存在するリスクに加え、外部の環境変化に起因するリスクが常にある。未知の状況をある程度論理的に分析し想定・対策できる可能性のある通常のソフトウェア実装と異なり、実在するデータを元に構築する機械学習利用システムは、(その汎化性能に期待することはあっても)周囲状況の変化に起因するデータ傾向の大きな変化に追従できない可能性がある。
機械学習品質マネジメントガイドライン
そうした背景を、プロジェクトメンバーやマネージャー、クライアントに伝え仕事を進めることが重要です。
AIエンジニアは、技術的な専門用語を簡潔に説明し、技術的な側面とビジネス側面の両方を考慮しながら、相手に伝える必要があります。
また、プロジェクトの納期に応じて、データ収集、前処理、モデル開発、評価などのタスクを行う必要があるのですが、1回のタスクで顧客の要求するAIの品質に到達する保証もなく(到達できる保証もなく)何度も同じタスクを繰り返す必要が出てくるかもしれません。
そのためスケジューリングをしっかり行う必要があります。
おわりに
ここまで読んでいただき、誠にありがとうございました。
今回は、AIエンジニアが直面する苦労について詳しく説明しました。
AIエンジニアの仕事は、AIやプログラミングに関することだけではありません。コミュニケーションやマネジメント、ドメイン知識など、多くの面での苦労があることをお伝えできたらと思います。
AIエンジニアは、技術や知識の向上に取り組むことが求められる職種であり、常に新しい課題に直面し、解決策を考えることが求められます。
しかし、私たちの仕事が成果を上げるためには、単独で仕事をするだけでは不十分で、チームワークやコミュニケーションの力も必要です。
最後に、この記事を読んでいただいた方々には、改めてお礼を申し上げます。
今後とも、より良い記事を提供できるよう、努めてまいります。