こんにちは!
今回は、2023年から新しく募集を始めたポジション「AI(LLM)エンジニア」(以下LLMエンジニアとする)についてご紹介します!
LLMエンジニアは「生成AI・LLM(大規模言語モデル)」をビジネスに活用して、クライアントの課題を解決していくポジションです。
今話題の生成AIを駆使してどのような業務をしているのか。
新卒1年目よりLLMエンジニアとして活躍するうっちゃん(竹内さん)にお話をお伺いして、業務内容について詳しくご紹介します。
LLMエンジニアとは?
──エンジニア業務と呼ばれるポジションはいろいろありますが、LLMエンジニアってあまり聞き慣れない方も多いかと思います。具体的にどのようなことをするのですか?
簡単にいうと、LLMを活用して新しいサービスや技術を開発する業務です。主にクライアント業務が中心ですね。
クライアントの課題をヒアリングして、課題をもとに活用できそうなLLM技術を提案します。提案内容が可決されれば、課題を解決できるツールを作成したり、アプリケーションを制作したりと実際に実装を進めるという流れです。
ChatGPTなど、トレーニングされたLLMのモデルを活用して実装することが多いので、クライアントの課題に合わせたオーダーメイドのシステム構築を行なっております。
自分の業務内容は、LLMを活用したAIチャットボットやデータ加工の自動化が中心です。
チャットや自動化の仕組みの考案をして、実装をしたり、チャットや自動化の精度を向上させるために、プロンプトエンジニアリングをしたりします。
──近年では、ChatGPTやStable Diffusionを筆頭に、生成AIを駆使して文章や画像などを作成するサービスが話題ですよね。企業でも、生成AIの需要が広がっているということでしょうか?
そうですね。生成AIのなかでも、文章を生成するモデルであるLLMに興味を持っている企業がかなり増えてきていますね。
LLM自体が新しいものなので、まずは「LLMでどういうことができるのか」といったアプローチ方法を知りたいというクライアントが多いです。
「お客様の課題を解決する」ことが目的ですが、生成AIに触れる機会を得ることで、お客様が生成AIを活用するきっかけをつくることができます。
生成AIが活用できれば、生産性が向上する可能性があるので、そういった点でも企業から注目されていますね。
LLMエンジニアになった背景
──LLMエンジニアってまだ日本全体を見ても募集が少なく、あまり浸透していないポジションですよね。元々LLMエンジニアになろうと思って入社したのですか?
実は、LLMエンジニアとして入社したわけではなく、入社したタイミングでLLM事業の立ち上げを進めていたことがきっかけで今のポジションに就きました。
もともとは、大学でプログラミングなどの情報系を学習していて、就活でデータサイエンスの領域に興味が湧いてエスタイルに入社したのですが、CTOのまーさん(丸岡さん)から「新規事業としてLLMサービスの取り組みを始めるけれど興味ある?」といった感じで。
──LLMエンジニアへの勧誘ということですね!
そうなりますね(笑)
LLMは、エンジニアでもまだまだ手探りの状態です。そんな最先端の技術にチャレンジしたいと思って今に至ります。
大学では「C言語」の勉強はしていましたが、プログラミング言語のひとつである「Python」はそこまで学ぶ機会はなかったです。
機械学習などのデータサイエンス分野や、LLMを活用した技術ではよくPythonが使われているため、LLMエンジニアになるには必要な知識となります。
エスタイルの研修でPythonの学習が組み込まれていることもあって、入社後にしっかり勉強させていただきました。
あとは、学校で概念を学べたのは大きかったですね。「こうすればエラーが起こる」など、考え方を知っていれば、何を学習しなければいけないのか見えてくるため、業務の効率化につながります。
エスタイルは、学校で学んだ知識と入社後の研修をもとに、新卒から早い段階で具体的な実装や実践の機会を積むことができるのがいいところですね。
エスタイルのLLMエンジニアはどんな業務をしている?
──エスタイルのLLMエンジニアとしてどのような業務をしているのですか?
ざっくりとした流れは、クライアントの課題のヒアリング→LLM活用の提案→課題解決ができるツールなどの実装→精度の検証→上手くいったら実際に使ってもらうといったイメージです。
まずはクライアントの課題へのヒアリングをして、課題に対してLLMがどう活かせるのかを考えるところからスタートします。
LLMで実装ができそうだと思ったら、本当にできるかどうかを検証していかなくてはいけないので、ここからは検証作業ですね。会話のログを要約したり、個人情報を使うためのマスキング処理をしたりと。
また、LLM活用の提案とは別に、技術の検証や研究のフローもあります。LLMそのものの自由度が高いため、なんでもできると思いがちですが、研究や検証をした結果できなかったものもあります。
できなかったものは提案できないので、提案前の検証段階は大切ですね。
LLMは新しい領域ということもあって「できること」と「できないこと」がハッキリ分かっていない状態なので、自分で検証して実装可能かどうか学びながら進めていきます。
エスタイルでのプロジェクト内容
──新卒で入社後、1年目で既にLLMエンジニアとして活躍されているとお聞きしましたが、特に印象的なプロジェクト内容はありますか?
最近では、伊藤忠商事さんのプロジェクト内容が印象的ですね。
「社内で使っている生成AIをさらに活用したい」というのが大まかなご依頼でした。
既存の生成AIをもとに、音声入力や議事録作成など新たな機能を拡張するのが業務内容になります。
また、ChatGPT4のようにBingでの検索を有効化して、Web検索の結果を厳密に抽出する機能に加えて、会社の情報など外部に出回っていない情報も収集した上で最適な回答を導き出さなくてはいけません。
外部に出回っていない情報も回答させるために、文章の入力を調整するプロンプトエンジニアリングや自然言語処理の技術、生成AIのモデル全体を調整するファインチューニングなど、LLMに関連する技術を活用します。
LLM本体とこれらの技術を組み合わせて自社向けに新しいサービスを開発したのが、今回のプロジェクト内容でした。
──インターネットに公開されていない情報や会社の情報からも収集するとなると、作業が膨大な量になる気がするのですが…。
ここがLLMが通常の機械学習のモデルと異なる点ですね。
機械学習や深層学習は、想定通りの回答を返すために、基盤となるモデルに追加で学習をさせなくてはいけません。
一方で、LLMは追加の学習をしなくても、タスクに利用することができるのが特徴です。
LLMでも追加で学習もできるのですが、学習が不安定な上にLLMに入れられる量には限界があるので、できれば追加の学習はしないで実装したいですね。
では、LLMはどのように回答しているかというと、入れたデータを学習させて回答をするわけではなく、質問したタイミングで適切な情報を抽出して回答していきます。
例えば「明日の東京の天気を教えてください」という質問が来たら、Googleの検索機能を使って上位何件かを引っ張ってきて回答するイメージです。この例だと、Googleの検索機能での回答が最適なので。
内部の情報について知りたい場合は、当然Googleには載っていないので、内部の情報から引っ張り出して回答します。
──LLMの回答って、間違った情報である可能性もありますよね。ChatGPTでも調べてみたら的外れな回答だったということも少なくないですし。
その可能性はありますね。
ですので、間違った情報を回答するかもしれないときは、参考サイトを抽出してもらったり、間違った情報である可能性を示唆したりしてファクトチェックしてもらうようにします。
LLMで判断し切れないケースでも、こういった対策をすることで間違った回答を抽出した場合のリカバリーができるようになります。
LLMエンジニア業務のやりがいは?
──多くのクライアント業務で活躍されていますが、うっちゃんはLLMエンジニアとしてのやりがいをどういったことで感じますか?
頑張って実装してつくったものが、クライアントの役に立っているとやりがいを感じますね。
既にツールとしてあるものを実装して終わりではなく、クライアントのヒアリングをもとに提案して採用後に実装に入るので、クライアントと一緒につくっている工程が楽しいです。
──エスタイルのLLMエンジニア業務は、まさにオーダーメイドのようなものですしね!
そうですね。要望に合わせた実装をしなくてはいけないので、業務をこなすごとにLLMへの知見が高まりますね。やはり、LLMエンジニアとして活躍するには実装力を身に付けなくてはいけないので。
あとは、LLMの技術の進歩が早いので、今までできなかったことが一瞬でできるようになるのもやりがいを感じます。「今まで苦労してきたことが、あっという間にできるようになった!」って。
技術を磨くにつれて、自分で成長が感じられるのもモチベーションにつながっています。
一日一日、成長を感じることができるのはLLMエンジニアとしての面白さですね。
LLMエンジニア業務で大変なこと
──LLMエンジニアとして成長できる反面、大変だと感じることもありますか?
もちろん、大変だと感じることも多いです。
LLM技術によって、できそうなことが多いため「こういうことができるかもしれない」と思っていても、いざ試してみるとうまくできなかったとか…。やってみたものの、実際にはできなかったことは結構あります。
また、LLM自体のノウハウが世界的に蓄積されていないので「できる」「できない」はやってみないとわかりません。
調べて学ぶのではなく、自分でやってみて技術や知見を幅広く蓄積する必要があります。
ここが、LLMエンジニアの大変なポイントですね。
──最先端の技術ならではの大変さですね。
LLMの進歩が早いので、常に最新技術を追っていないといけません。
最新技術を知っていればすぐに実装できることでも、知らないと実装に時間がかかってしまったり、LLMでは実装できないと認識してしまったりすることもあるので。
LLMエンジニアになってからも、とにかく毎日勉強ですね。
今後のプロジェクトはどんなことをする?
──最後に、今後のプロジェクトでやってみたいことをお聞かせください!
今までのLLMの知識や経験を組み合わせて別の技術を開発してみたいですね。
エスタイルのLLMエンジニアは、クライアントの要望に合わせてカスタマイズするので、どの案件も一つ一つ業務内容が異なります。
メンバーによって違う知識や経験が蓄積されているので、このノウハウを共有しながら別の技術を開発すればもっと凄いことができるかもしれません。
今は、複数の案件を同時進行で進めて、知識や経験を蓄積する段階ですが、いずれは大きなプロジェクトを立ち上げていきたいと考えています。