HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

AIの誇大広告とソフトウェアエンジニアリングの現実との間の広がる隔たり

The growing divide between AI hype and software engineering reality (optimizedbyotto.com)

4 pointsby jruohonen0 コメント

要約

多くのオープンソースプロジェクトがAI支援による貢献を禁止する動きを見せています。これは、AIの出力がしばしば誤解を招きやすく、専門知識の非対称性や人間がAIに過度に依存してしまう傾向があるためです。ベンチマークの向上とは裏腹に、AIはまだ多くの場面で不正確な結果を生成しており、ソフトウェアエンジニアリングの現場ではその品質と効率性に疑問が呈されています。

全文翻訳

現在、金融市場にはAIのバブルがあることは広く認識されています。しかし、LLM(大規模言語モデル)は常に改善されており、最終的にはますます多くのタスクを人間から引き継ぎ、生産性を向上させるだろうというのが穏健な意見です。しかし、LLMは本当に賢くなっているのでしょうか、それとも私たちを騙すのが上手くなっているだけなのでしょうか。 技術専門家の間で、LLMは実際の進歩にとって非常に有害であるため、その使用を禁止し、品質と人間の時間の効率的な利用を確保するために人間のみの作業を要求するという意見を持つ派閥が拡大しています。Rakshit Yadavによる最近の120のオープンソースプロジェクトのAIポリシーのレビューによると、37のプロジェクトがAIを完全に禁止することを選択しました。LinuxカーネルではAI支援の貢献が許可されていますが、使用されたLLMは透明性のために明記する必要があります。一方、GCC、QEMU、SDL、Gentoo、Zig、Ghosttyのようなプロジェクトは、AI支援による貢献をすべて拒否するポリシーを採用しています。また、CodebergやSourcehutのような開発プラットフォームや、Flathubのようなアプリストアでは、ソフトウェア、ドキュメント、バグレポート、レビューコメント、基本的に人間が読むことを意図したあらゆるものの生成にAIを使用することを禁止しています。AIの使用を許可しているプロジェクトは通常、人間がループ内にいる必要があり、提出者はLLMが出力したものを別の人間が目にする前に、すべてを読み、フィルタリングする必要があるという要件を課しており、AIによる低品質な出力の拡散を抑えようとしています。 現在、LinuxディストリビューションDebianでは、開発者の間でAIの使用を許可するか禁止するかについての投票が行われています。投票用紙の提案の一つは、コード、ドキュメント、翻訳、バグレポートなどへのAIの使用を完全に禁止するというものです。ほとんどの人の最初の反応は驚きです。なぜこれらの技術者は、人類がこれまでに生み出した最新かつ最高の技術を使いたがらないのでしょうか?DebianがAIの助けを借りてより速く改善することを望まないのでしょうか?それとも、LLMは詐欺であり、Debianにとって真に有用である能力がないのでしょうか?これらの人々はそれぞれの分野の著名な専門家であり、決して愚かではありません。そのため、彼らがAI禁止ポリシーを提案する理由を理解するために立ち止まる価値があります。 また、AIデータセンター自体がDebianやその他のLinuxベースのシステムで稼働していることも念頭に置いてください。世界のすべてのオープンソースソフトウェアはLLMに読み込まれており、ソフトウェア開発は現在AIの主要なユースケースの一つです。では、なぜ多くのオープンソースプロジェクトのメンテナーが、LLMが基本的にそれらの同じソフトウェアスタック上で稼働し、まさにそのオープンソースソフトウェアコードベースを使用してソフトウェア開発を行う方法を学習しているにもかかわらず、LLM支援の貢献を受け入れたくないのでしょうか? なぜLLMはそれほど欺瞞的なのか LLMの出力は、しばしば非常に説得力があり、プロフェッショナルで、正しいように見えます。人間は、話者の権威や、メッセージがどれほど自信を持って雄弁に伝えられているかといった、検出が容易な二次的な要因に基づいて、新しい情報を信頼するかどうかを判断するように進化してきました。しかし、人間は事実確認や新しい情報の相互参照が非常に苦手です。なぜなら、それには多大な労力がかかるからです。そして人間はエネルギーを節約し、できるだけ怠惰であろうとします。 情報非対称性 ある事柄について知っていることが少ないほど、その事柄について騙されやすくなります。経済学のノーベル賞は、情報非対称性が市場を歪め、最適ではない結果をもたらす仕組みの研究に与えられています。ソフトウェアエンジニアリングの分野では、AIを使用して、動作するように見えるが実際には欠陥だらけのソフトウェアを作成する、意欲的なソフトウェア開発者の洪水を目撃しています。これらの人々は善意ですが、彼らは実際に行っていることを理解する専門知識がなく、LLMが本当に役立つものを出力しているのか、それともほとんどゴミを作成しているのかを判断するために必要な判断力を欠いています。この専門知識の非対称性は、オープンソースプロジェクトで現在目撃されている対立の大部分を説明していると思います。シニア開発者は、関係者全員にとって時間の無駄となる悪いコードをレビューするリクエストで溢れています。一方、AIの利用可能性は、より多くの「コードのゴミ」をかつてない速さで作成できる可能性のある人々のプールを増やしています。 情報非対称性は、シニアがジュニアにソフトウェアエンジニアリングをうまく行うように教えることで、ある程度は解消されるかもしれませんが、もちろん、全員を迅速に大量教育することは現実的ではありません。また、多くの人が学びたがらず、代わりにすべての理解をLLMにアウトソースすることを期待しているようです。多くのシニアはこれに気づき、学びたがらない人々を教えることで時間を無駄にされていると感じることを好まないため、ジュニアに教えることをやめています。ジュニアはおそらく、自分でソフトウェアを設計・記述することを学ぶ方が良いと理解していますが、LLMを使用するのはあまりにも簡単だと感じます。人々が抵抗の少ない道を選ぶ理由を完全に理解できます。残念ながら、その道はしばしば行き止まりにつながります。 人間は擬人化にあまりにも簡単に騙される 人間の脳は、無生物が生きていると感じ、感情を持っていると考えるように配線されています。幼い子供は、まるで本物であるかのようにぬいぐるみと話します。そして多くの大人は、神々やエルフの怒りなどの何らかの行為によって、周囲で起こっていることに対して感情を経験します。機械が人間のように書いたり、さらに説得力を持って話したり、生きているかのように会話に応答したりするのを見ると、私たちの脳は自動的に、知性と感情を持つ生きているものだと仮定し始めます。 これらの生き物が抽象的な「クラウド」に住み、私たちが手のひらに持つポータルを通してのみ現れ、最大限のエンゲージメントのために設計された方法で振る舞うという事実は、その幻想をさらに強くします。私は、人々がローカルのラップトップでLLMを実行してみて、「生の」ものが出力するトークンを見て、幻想の一部を打ち砕くことをお勧めします。 また、LLMに「お願い」と言うのをやめてください。それは感情を持っていません。 「温度」を理解する 私の経験では、LLMにおける温度の概念を理解することは、LLMがなぜ自信を持って、もっともらしく見えるが完全に間違ったコード変更を生成する可能性があるのかを理解するのに役立ちます。大規模言語モデルは統計機械であり、ニューラルネットワークへの入力(前のトークン)に基づいて、何を出力するか(次のトークン)を予測しようとします。LLMを実行する際、温度がゼロに設定されている場合、出力は非常に予測可能であり、常にニューラルネットワークのノードと層間の最も強い接続(別名、重み)のパスに従います。常に学習し変化し続ける生きている生物とは異なり、LLMの重みはトレーニング中にのみ変更できます。LLMが「通常の」使用中(推論中、次のトークンを生成中)は、重みは固定されており、温度がゼロであれば、特定の質問への答えは常に全く同じになります。これはもちろん、少し退屈で機械的すぎるため、通常、LLMにはある程度の温度が設定されており、ニューラルネットワークがたどる接続にランダムな変動を導入します。 繰り返しになりますが、人々がローカルで小さなLLMを実行してみて、温度やその他の設定が完全に公開され設定可能であることを自分で確認することを推奨します。それは、LLMが実際に知的であるという幻想に騙されることに対する良い解毒剤となります。 ベンチマークがすべてを物語らない理由 LLMがこれほど多くのゴミを生成し続けるのに、なぜベンチマークはそれらが常に改善していることを示しているのでしょうか?AIモデルは確かに常に改善しています。例えば、CAIS AIダッシュボードは、フロンティアモデルが過去数年でどのように進化してきたかを視覚化しています。しかし、最良のモデルでも、Humanity's Last Examでの合格率は約50%に過ぎません。SWE-benchでは、今日の最良モデルは77%弱を解決します。これは、AIが間違っている場合がかなりの数あることを意味します。これは私の個人的な経験と一致しており、著名なGreg Kroah-Hartmanは最近Linux開発者のメーリングリストで、「現在の世代および次世代の最良のツールを使っても、生成される結果の少なくとも1/3は...」と書いています。