BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース eBayに学ぶ、ソフトウェア開発の生産性向上における生成AIについての教訓

eBayに学ぶ、ソフトウェア開発の生産性向上における生成AIについての教訓

原文リンク(2024-03-19)

eBayはこの程、開発プロセスにおける生成AIの適用について学んだ教訓を明らかにした。 eBayのAIへの取り組みは、開発者の生産性を向上させるための3つの極めて重要な道筋を発見した。商用製品の統合、既存の大規模言語モデル(LLM)のファインチューニング、そして社内の知識ネットワークの活用である。

GitHub Copilotのような商用AIソリューションの採用は、eBayの開発者コミュニティにとって有望な結果をもたらした。綿密に設計されたA/Bテストでは、Copilotを利用した開発者は生産性の向上を実証し、コードの受理率(Copilotの遠隔測定によって報告されたコードの受理率は27%)や効率性のメトリクスが顕著に向上した。生成されたコードの精度は60%であった。Github Copilotの導入により、PRの減少(約17%)と変更リードタイムの減少(約12%)も実現した。しかし、プロンプトサイズの制約などの限界は、eBayの膨大なコードベースのコンテキストに合わせたソリューションの必要性を強調している。

Code LlamaのようなオープンソースのLLM、特にCode Lllama 13Bをポストトレーニングし、ファインチューニングすることで、eBayは労働集約的な作業を合理化し、コードの重複を軽減するための新たな手段を明らかにした。eBayCoderの開発は、eBay独自のデータ(コードベースとドキュメント)を使って訓練された特注モデルであり、eBayのエコシステム特有の微妙な課題に対処するためのLLMカスタマイズの可能性を示している。このアプローチは、脆弱性を修正するためのライブラリの更新のように、以前は時間を要したいくつかのタスクに対して、うまく機能した。

eBayの広範で多様なコードベースを考えると、典型的な商用LLMは、特定のクエリに直接関係するデータとコードにしかアクセスしないかもしれない。通常、これには近辺のファイル、現在のリポジトリ、一握りの依存ライブラリが含まれる。しかし、このようなモデルは、他のチームが管理する代替の内部サービスや非依存ライブラリを、たとえそれらが現在開発中の同一の機能を提供していたとしても、見落としてしまう可能性がある。その結果、コードの冗長性が大きくなることが多い。対照的に、ファインチューニングされたLLMは、より広範なコンテキストにアクセスでき、コードの重複の発生を緩和できる可能性がある。

内部知識への合理的なアクセスの重要性を認識し、eBayは内部GPT駆動クエリシステムを実装した。RAG(Retrieval Augmented Generation)技術を活用したこのシステムは、既存のドキュメントソースとシームレスに統合され、開発者にタイムリーで適切な洞察を提供する。時折、レスポンスの品質に問題が発生するものの、人間のフィードバックからの強化学習(RLHF)による継続的な改良努力により、eBayはGPT主導のクエリシステムを時間をかけてより良いものにしている。

技術進歩のダイナミックな状況の中でeBayが辿った過程は、開発者と組織の両方に具体的な成果を促進するAI統合の導入を示しているといえるだろう。

作者について

この記事に星をつける

おすすめ度
スタイル

BT