生成系AIとは
生成系AI(ジェネレーティブAI:Generative AI)とは、クリエイティブかつ現実的な全く新しいオリジナルのアウトプットを生み出す人工知能(AI)のことです。具体的には、新しいデジタルの画像や動画、オーディオ(音声/音楽など)、文章やコードなどのテキストを生成するAI、もしくはこれらを組み合わせて生成するAIのことを指します。ただし、実際にクリエイティブなのかと言われると、ここについては議論が進んでいく必要があると考えています。
しかし一方で、生成系AIは、人間の仕事や作業をサポートするツールとして活用が期待されています。例えばテキスト生成AIでレポートの要約を行ったり、音楽生成AIで動画制作に使用する簡単なBGMを作ったりすることが可能です。
そういった側面をうまく取り入れることで、業務やクリエイティブな活動への手助けになるものです。
色々な目的別のモデル
生成系AIには複数の得意分野とモデルが存在しています。
モデルごとにも特性が異なりますが、今回は一部の代表例の名前を紹介します。
分類 | 代表的なモデルやサービス |
文章系 | GPT-3/4 LaMDA LLaMA BLOOM |
画像系 | Stable Diffusion Bing Image Creator DALL-E |
動画系 | Synthesia PICTORY AI Runway elai Meta/Make-A-Video |
コード系 | GitHub Copilot OpenAI Codex |
音楽系 | Google MusicLM OpenAI JukeBox |
音声系 | Google Cloud Speech-to-Text Amazon Transcribe RVC Microsoft Azure Speech Services |
ビジネスとしてどこに取り入れるのか
1.差別化したLLMを作る場合
自前で大規模言語モデル(LLM)を作成するとする場合、LLMを提供するサービスで勝負をしていくパターンと、自社のプロダクトの特色が強すぎるゆえに、既存のLLMを適応してもいい成果が出ない場合だと考えられます。
2.生成系AIを活用したシステムを作る場合
こちらの場合は、大枠としては下記の2パターンが利用箇所となっているパターンが多いです。
多いものの、どの会社も同じように取り込んでいるというのは、生成系AIそのものは、アドオン的な付加価値として捉えて、自社のコアとなる要素を補足や拡張して利便性を向上させるための道具としているからだと考えられます。
- AI搭載の新しいシステムを開発する
- 既存のシステムをAIで拡張する
LLMを自前で用意すべきか否か
現状では、LLMを自前で開発してビジネスすることは費用対効果的に得策ではないと考えられます。
その理由は、1トークンあたりの利用価格が安いこと、LLM自体が有ってもその先に独自性を見出すのが難しいことです。
既存のシステムを保有していて、それの利用制度を挙げる目的(GoogleやMicrosoftが検索エンジンの補助にするパターンや、Officeソフトに組み込むなど。)でなければ、既存のLLM(OpenAIのChatGPTやMicrosoftのAzureOpenAIService)を契約して利用するほうが、本来注力すべきことに集中できると考えられます。
その後に、さらに上を目指す場合には、ファインチューニングや自作することのほうが効率的だと考えられます。
LLMの費用について
LLMの契約費用については、契約するLLMの種類や契約期間によって異なりまが、OpenAIのChatGPTの場合、1トークンあたりの価格は0.06ドルから0.12ドル程度であり非常にお手頃価格です。
また、MicrosoftのAzureOpenAIServiceの場合、1トークンあたりの価格は0.0004ドルから0.0008ドル程度であり、こちらも非常にお手頃価格です。
LLMの自作費用について
LLM自前開発のコストについては、NVIDIAのLLMの場合、NVIDIAが提供するAIプラットフォームを使用して、最大で1億トークンまでのLLMを開発することができます。この場合、1時間あたりの価格は約1,000ドルからとなっています。
また、サイバーエージェントが開発した最大68億パラメータの日本語LLMの場合、開発にかかった費用は公表されていませんが、同社は「数千万円以上」とコメントしています。この費用をペイする事が直接的に可能なのか、研究目的も含めて考えるかで、費用対効果が変わってきます。
更に、既存のプラットフォーム上にあるLLMを利用して、システムのアドオンとして位置づけていくことで、今後のソリューションを拡張する際に
容易に精度の高い結果を提供することが出来る、自分たちに一番適したモデルを選ぶことが容易になり、機動力が向上すると考えられています。
ファインチューニングをするパターン
ファインチューニングとは
ファインチューニングとは、ある大規模言語モデルを、特定のタスクに適したように微調整することです。
ファインチューニングはするべき?
現状の見解では、余程特殊な業界の用語や、一般的な用語とは異なる仕組みを求めている場合など。そういった時には、小さな言語モデルをファインチューニングして拡張するのが良いとされています。
やはり既存の大規模言語モデルに情報として与えてあげるのがベターであると考えられています。
その理由として、下記の事が挙げられます
・余程の特殊な事情がめったに発生しない
・既存のLLMに情報を教えて処理するほうが、費用対効果が高い
・今後のモデル進化のたびに、再度ファインチューニングを行っていく必要が出てくる。
メンテナンス費用と時間が必要になり、世間から後れを取ることになりやすくなる。
プロンプトエンジニアリングは?
世間では、プロンプトエンジニアリングが重要だという話や、プロンプトエンジニアが今後重宝される。などと言う論説を多々見かけますが、その事については一部正しいものの、全肯定できない側面のほうが強いと思っています。
一つの理由として、プロンプトエンジニアリング単なるプロンプトの入れ方で発展していない人が多いというところが有ります。
プロンプトエンジニアリングでやるべきことは、どのタイミングでどのような入力を行い、どこでどの様な加工を行うのかと言う、処理としての一連の流れでだと考える方がよいと思っているからです。入力方法+データ+加工手順それぞれが合わさることが重要になってきます。
そうなると、≒デザインパターン の様な物に落とし込まれていくと思っています。
また、今の時代はOSSなどを含めて、自分の成果をQittaやZenn,noteなどで積極的に公開してくれている人たちがたくさんいます。
最後に
重要なのはどのようなサービスに組み込んでいくのか、付加価値の提供でこそ差別化が行えると考えています。
以上が、私が生成系AIについて調査している際に、ビジネスのどこに適応すべきかと考えた際の情報になります。
少しでも、何か参考になっていれば幸いです。