IBM、ソフトウェア開発へのAI活用を促進する大規模データセット「Project CodeNet」を公開:「AIZU Online Judge」と「AtCoder」のデータを利用
IBMはAIによるコードの理解と変換をサポートする大規模なオープンソースデータセット「Project CodeNet」を公開した。50種類以上のプログラミング言語で作成され、約1400万のコードサンプルで構成されている。正常に動作するコード以外にエラーを起こすコードも含まれており、AIの学習データとして役立つという。
IBMは2021年5月11日(米国時間)、AIによるコードの理解と変換をサポートする大規模なオープンソースデータセット「Project CodeNet」を公開した。
このデータセットは、50以上のプログラミング言語で作成され、約1400万のコードサンプルで構成されている。コードの行数は総計約5億行に及び、AI向けのソースコードセットとして最大規模だという。C++やC、Java、Pythonのようなモダン言語で書かれたものが多いものの、COBOLやPascal、FORTRANといったレガシー言語によるものも含んでいる。
Project CodeNetの目的は?
Project CodeNetは現在のコーディングにおける3つの主なユースケースに対応する。第一に「コード検索」(COBOLなどのレガシー言語を含む、コード間の自動変換)、第二に「コードの類似性」(異なるコード間の重複と類似性を特定する)、第三に「コード制約」(開発者の固有のニーズとパラメーターに基づいて制約をカスタマイズする)だ。
Project CodeNetは、最近急成長している「AI for Code」という分野の研究コミュニティーに、大規模で多様な高品質の整理されたデータセットを提供し、AI技術のイノベーションを促進することを目的としている。
この分野の台頭の背景には、生活と産業全般にわたって膨大かつ複雑なソフトウェアシステムが使われるようになったことから、開発やデバッグ、メンテナンス、更新といったプロセスをモダナイズできる新しいソリューションを、AIやハイブリッドクラウドといった今日の強力な技術を利用して実現することが不可欠となっている状況がある。
AI for Codeという分野は、ソフトウェアエンジニアリングプロセスの自動化により、ソフトウェア開発者の生産性向上を支援することを目的としている。AI for Codeの研究者は自然言語処理(NLP)のような技術を利用し、それらをコード解析やコンパイル技術で拡張することで、コード検索や要約、入力補完、コード間変換などにより、さまざまな実作業の支援に取り組んでいる。
IBMの顧客企業の中には、AI for Code技術がレガシーソフトウェアのモダナイズに利用され、モノリシックアプリケーションからマイクロサービスへの移行を支援しているといった導入事例も出ているという。
AI for Codeはこれまで概念実証(PoC)が進んできたが、今後は幅広い導入が進みそうだという。IBMはこの移行を促進することを目指し、ベンチマーキングと実験のための大規模データセットとしてProject CodeNetを公開した。
IBMによれば、Project CodeNetは「ImageNet」(関連記事)に似た特徴(大規模、多様性など)を多く備えているという。ImageNetは、コンピュータビジョン研究に劇的な影響を与えてきた大規模画像データセットだ。
Project CodeNetのデータセットは、オンラインジャッジWebサイトの「AIZU Online Judge」と「AtCoder」で得られるデータに基づいている。これらのWebサイトはプログラミング問題を出題し、プログラマーが提出した解答を採点している。
これらの解答から成るProject CodeNetの約1400万のコードサンプルは、コーディングにおける4000種類の問題のいずれかの解決が図られており、全体の54%が正常なコードと判定されている。このようにしてProject CodeNetは、ImageNetがコンピュータビジョンに対して果たした役割を、AI for Codeに対して果たすことを目指しているという。
Project CodeNetの特徴は?
Project CodeNetは、類似の他のデータセットと比べて際立った特徴を幾つか持っているという。
関連記事
- 2021年の「AI/機械学習」はこうなる! 5大予測
2020年は、自然言語処理(NLP)のTransformer技術に基づくBERT/GPT-3や、画像生成のディープフェイクが大注目となる一方で、倫理に関する問題がさまざまな方面でくすぶり続けた。2021年の「AI/機械学習」界わいはどう変わっていくのか? 幾つかの情報源を参考に、5個の予測を行う。 - 画像認識の機械学習を、無料で誰でも簡単に作れる「Microsoft Lobe」
画像分類を行う機械学習モデルを「無料」で作成できるLobe。その機能と特徴を作業手順の流れで一通り解説。知識ゼロでもGUI操作で簡単に機械学習できるLobeを体感してみよう。 - アクティブに更新され続けている、お勧めの機械学習データセット一覧サイト
「300個以上のデータセットを紹介している大型サイト」「毎週/毎月のようにアクティブに更新されているサイト」という条件に該当するお勧めのデータセット一覧サイトとして「arXivTimes/DataSets」「Awesome Public Datasets」「UCI Machine Learning Repository」の3つを紹介する。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.