AIモデルとプラットフォーム

ラージランゲージモデルはプログラミングの終焉をもたらすか?

mm
Unite.AI を Google の優先ソースに追加

先週、OpenAIは、OpenAI DevDayでGPT-4 Turboを発表し、重要なマイルストーンを達成しました。GPT-4 Turboの特徴的な機能は、128,000の拡張コンテキストウィンドウで、GPT-4の8,000を大幅に上回ります。この強化により、前身よりも16倍大きなテキストを処理できるようになり、約300ページのテキストに相当します。

この進歩は、SaaSスタートアップの景観に大きな影響を与える別の重要な開発と密接に関係しています。

OpenAIのChatGPT Enterpriseは、企業向けの機能を備えており、多くのSaaSスタートアップに挑戦を投げかけます。これらの企業は、ChatGPTまたはそのAPIを中心に製品やサービスを提供してきましたが、現在は企業向けの機能を備えたツールと競合することになります。ChatGPT Enterpriseの機能、たとえばドメインの検証、SSO、使用状況の分析は、多くの既存のB2Bサービスと直接重複し、これらのスタートアップの存続を危うくする可能性があります。

OpenAIのCEOであるサム・アルトマンは、GPT-4 Turboの知識カットオフの拡張について別の重要な開発を発表しました。GPT-4は2021年の情報しかなかったのに対し、GPT-4 Turboは2023年4月までの知識で更新されており、AIの関連性と適用可能性の面で大きな前進を示しています。

ChatGPT Enterpriseは、強化されたセキュリティとプライバシー、GPT-4への高速アクセス、長い入力に対応した拡張コンテキストウィンドウなど、特徴的な機能を備えています。その高度なデータ分析機能、カスタマイズオプション、使用上限の削除により、前身よりも優れた選択肢となり、特にデータセキュリティに関する懸念から躊躇していた企業にとって魅力的です。長い入力やファイルの処理能力と、先ほど述べたCode Interpreterのような高度なデータ分析ツールへの無制限アクセスにより、その魅力はさらに高まります。

手作業でコードを書く時代は、AI駆動のシステムに取って代わられ、代わりにトレーニングされ、ソフトウェア開発に根本的な変化をもたらします。

プログラミングの退屈なタスクは、AIに任せることができ、深いコーディングの専門知識の必要性が減ります。GitHubのCoPilotやReplitのGhostwriterなどのツールは、コーディングを支援し、AIの役割が拡大する兆しを示しています。将来、AIがコーディングプロセスを完全に管理する可能性があります。たとえば、プログラマーが特定の言語でリストを逆順にする構文を忘れたとします。オンラインフォーラムや記事を検索する代わりに、CoPilotはすぐに支援を提供し、プログラマーが目標に集中できるようにします。

ローコードからAI駆動開発への移行

ローコードおよびノーコードツールは、プログラミングプロセスを簡素化し、基本的なコードブロックの作成を自動化し、開発者がプロジェクトの創造的な側面に集中できるようにしました。しかし、AIの新しい波に突入するにつれ、景観はさらに変化します。ユーザーインターフェイスのシンプルさと、簡単なコマンドでコードを生成できる機能は、プロセスを革命的に変えています。

AIのプログラミングへの影響はすでに大きいです。初期のコンピュータ科学者が電気工学からより抽象的な概念への焦点を移したように、将来のプログラマーは詳細なコーディングを時代遅れと見なすかもしれません。AIの急速な進歩は、テキスト/コード生成に限定されていません。画像生成の拡散モデルであるRunway MLやDALL-E 3などの分野では、大幅な改善が見られます。以下のRunwayのツイートを見てください。

https://twitter.com/runwayml/status/1723033256067489937

プログラミングを超えて、AIの創造産業への影響も同等に変革的です。映画産業の巨頭であり、ウォルト・ディズニー・スタジオの元会長であるジェフ・カッツェンバーグは、AIがアニメーション映画の制作コストを大幅に削減することを予測しています。最近のブルームバーグの記事によると、カッツェンバーグは90%のコスト削減を予見しています。これには、伝統的なアニメーションの間の作業、シーンのレンダリング、キャラクターデザインやストーリーボードなどの創造的なプロセスへの支援など、労働集約型のタスクの自動化が含まれます。

コーディングにおけるAIの費用対効果

ソフトウェアエンジニアの雇用コスト分析:

  1. 総給与: テクノロジーハブのシリコンバレーまたはシアトルでのソフトウェアエンジニアの平均給与は、年間約312,000ドルです。

日次コスト分析:

  1. 年間労働日数: 1年に約260日の労働日数を考慮すると、ソフトウェアエンジニアの日次コストは約1,200ドルとなります。
  2. コード出力: 1日あたり100行の最終的なテスト済み、レビュー済み、承認済みコードを仮定すると、この日次出力は比較の基準となります。

GPT-3を使用したコード生成のコスト分析:

  1. トークンコスト: GPT-3のコストは、当時のビデオでは、1,000トークンあたり約0.02ドルでした。
  2. 1行あたりのトークン数: 1行のコードには、平均して約10トークンが含まれると推定されます。
  3. 100行のコード生成コスト: したがって、GPT-3を使用して100行のコード(または1,000トークン)を生成するコストは、約0.12ドルとなります。

比較分析:

  • 人間とAIの1行あたりのコスト: コストを比較すると、人間のソフトウェアエンジニアが1日あたり100行のコードを生成するコストは1,200ドルであるのに対し、GPT-3を使用する場合はわずか0.12ドルとなります。
  • コスト係数: これは、AIが約10,000倍安いことを示しています。

この分析は、プログラミング分野におけるAIの経済的潜在力を示唆しています。AI生成コードの低コストと人間開発者の高コストの比較は、AIが標準的または繰り返しのタスクのコード生成に優先される将来を示唆しています。これにより、企業は大幅なコスト削減を実現し、人間プログラマーの役割を再評価する可能性があります。人間プログラマーは、AIがまだ扱えない複雑な、創造的な、または管理タスクに重点を置くことになります。

ChatGPTの多才性は、ウェブ開発フレームワークとの複雑なやり取りを含む、さまざまなプログラミングコンテキストで発揮されます。たとえば、開発者がReact、人気のJavaScriptライブラリを使用してユーザーインターフェイスを構築している場合を考えてみましょう。従来、このタスクには、特に複雑なコンポーネントやステート管理の場合、詳細なドキュメントやコミュニティ提供の例を調べることが含まれていました。

ChatGPTを使用すると、このプロセスは簡素化されます。開発者は、Reactで実装したい機能を簡単に説明し、ChatGPTは関連する、使用可能なコードスニペットを提供します。これには、基本的なコンポーネント構造の設定から、フックを使用したステート管理や外部APIとの統合などの高度な機能まで、幅広い範囲の機能が含まれます。研究と試行錯誤に費やす時間を短縮することで、ChatGPTは効率を高め、ウェブ開発のプロジェクトを迅速に進めることができます。

AI駆動プログラミングの課題

AIがプログラミングの景観を再定義するにつれ、AIのみに依存するプログラミングタスクの限界と課題を認識することが重要です。これらの課題は、AIの長所を活かしながらその限界を認めるバランスの取れたアプローチの必要性を強調しています。

  1. コード品質と保守性:AI生成コードは、冗長または非効率的になる可能性があり、保守に課題をもたらす可能性があります。AIは機能的なコードを書くことができますが、コードがベストプラクティスに従って読みやすく、効率的で、保守可能であることを確認することは、人間のタスクです。
  2. デバッグとエラーハンドリング:AIシステムはコードを迅速に生成できますが、既存のコードの微妙なエラーまたはバグをデバッグすることは得意ではありません。デバッグの繊細さ、特に大規模で複雑なシステムでは、人間のニュアンスと経験が必要です。
  3. トレーニングデータへの依存:AIのプログラミングにおける有効性は、トレーニングデータの質と幅に大きく依存しています。トレーニングデータに特定のバグ、パターン、シナリオの例が不足している場合、AIの対応能力は損なわれます。
  4. 倫理とセキュリティの懸念:AIがコーディングでより重要な役割を果たすにつれ、データプライバシーとAI生成コードの偏見に関する倫理的およびセキュリティ上の懸念が生じます。AI駆動プログラミングツールの責任ある開発には、これらの懸念に対処することが不可欠です。

AIと伝統的なプログラミングスキルのバランス

将来、ソフトウェア開発チームでは、ハイブリッドモデルが登場する可能性があります。製品マネージャーは、AIコード生成器向けの指令に要件を翻訳します。人間の監視は、品質保証のためにまだ必要かもしれませんが、焦点はコードの書き込みや保守から、AI生成出力の検証や微調整に移ります。この変化は、人間中心の保守基準に従わないAI生成コードの出現を示唆しています。

この新しい時代に、エンジニアやコンピュータサイエンティストの役割は大きく変化します。彼らは、LLMにトレーニングデータや例を提供してタスクを達成し、細かいコーディングからAIモデルと戦略的に働くことに焦点を移します。

基本的な計算単位は、従来のプロセッサから、大規模に事前トレーニングされたLLMモデルに移り、予測可能で静的なプロセスから、ダイナミックで適応性のあるAIエージェントに移行します。

焦点は、プログラムを作成し理解することから、AIモデルを導くことに移り、コンピュータサイエンティストやエンジニアの役割を再定義し、技術とのやり取りを変えます。

AI生成コードにおける人間の洞察の継続的な必要性

プログラミングの将来は、コードを書くことではなく、技術の世界を駆動する知性を導くことです。

自然言語処理によってAIが、形式的な数学的表記や伝統的なプログラミングと同じ精度や複雑さを完全に置き換えるという考えは、最善を尽すと過早です。プログラミングへのAIの移行は、正式なプログラミングや数学的スキルが提供する厳格さや精度の必要性を除去しません。

さらに、未解決の問題に対するAI生成コードのテストは、重大な課題です。プロパティベースのテストなどのテクニックには、AIが現在の状態では複製または置き換えることができない、深いプログラミングスキルが必要です。

要約すると、AIがプログラミングの多くの側面を自動化することを約束していますが、創造性、複雑な問題解決、倫理的管理が必要な分野では、人間の要素は依然として重要です。

私は過去5年間、機械学習とディープラーニングの魅力的世界に没頭してきました。私の情熱と専門知識は、AI/MLに特に焦点を当てた50以上の多様なソフトウェアエンジニアリングプロジェクトに貢献することになりました。私の継続的な好奇心は、自然言語処理という分野にも私を引き付け、さらに探求したいと思っています。