Data Science and AI
COBOLプログラマー不足に取り組むIBMのコード・ライティングAI
2023年10月31日
カテゴリー Data Science and AI | IBM Cloud Blog | IBM Data and AI | IBM Watson Blog | ITの最適化とスマートな運用管理 | IT部門向け | 人工知能
記事をシェアする:
IBMの新しいモダナイゼーション・ソリューション、 watsonx Code Assistantにより、開発者は COBOL アプリケーションを IBM Z およびハイブリッド・クラウド向けに最適化された高品質の Java コードに選択的に変換できます。
最初のビジネス用プログラミング言語であるCOBOLは、近代的なソフトウェア産業を築き上げるのに貢献しました。登場から60年経った今、COBOLを搭載したメインフレームは、現在、世界の銀行取引の推定70%を処理しています。
COBOLをベースとしたアプリケーションは、そのセキュリティー、信頼性、トランザクション・パフォーマンスによって、長い間支持されてきました。しかし、これらのアプリケーションを保守し、更新し続けることは、年々難しい課題になってきています。COBOLのコーダー(プログラマー)は以前ほど多くはなく、クラウド・コンピューティングの台頭は、Javaで書かれることが多いモジュール型ビジネス・アプリケーションへの移行をもたらしました。
企業はモダナイゼーション(近代化)を目指す中で、メインフレーム・アプリケーションを理解し、複雑で大規模なメインフレーム・アプリケーションの分解・変換専用に設計されたツールを使うことができる、熟練した開発者を求めています。
メインフレーム・モダナイゼーションの取り組みを簡単化するために、IBM は、watsonx Code Assistant for IBM Zを開発しました。これは自動化されたツールと、200億パラメーターを持つ、コード用のIBM独自大規模言語モデル「Granite」によって提供されるソリューションで、企業がモノリシックなCOBOLアプリケーションをIBM Zに最適化されたサービスに変換することを可能にします。
企業は、最も効果の大きいアプリケーションを選んで最新化し、既存のサービスと統合することで、IBM Zの高いパフォーマンスを維持することができます。IBMは、このソリューションを10月26日(木)にお客様に提供開始しました。
IBM Researchのチーフ・サイエンティストであるRuchir Puriは次のように言います。「生成AIによって、企業にとって負担の少ないモダナイゼーションが実現します。watsonx Code Assistant for Zは、企業が、最大の効果が期待できるタスクから優先度をつけて、COBOLのビジネス・サービスを選択的かつ段階的にリファクタリングできるよう支援します」
短期間、低コストでのモダナイゼーション
アプリケーション・モダナイゼーションは時間がかかってリスクを伴うことがありますが、それは特にミッション・クリティカルなサービスを提供する銀行や政府機関にとってはなおさら問題です。大規模なアプリケーションには、長年にわたって繰り返し更新されてきた、相互に依存する機能があります。それらを独立したサービスに分離するのは、複雑で時間のかかる作業です。そして、いったんリファクタリングが完了すると、それらのサービスをCOBOLからJavaに翻訳するという、さらなるハードルが開発者を待っています。
IBM watsonx Code Assistant for Z には、開発者の時間を節約し、ミスの可能性を減らすために設計された機能がいくつかあります。アプリケーション・ディスカバリー・ツールは、アプリケーションを分析し、その依存関係をマッピングすることで、コードがどのように動作するかを開発者が高レベルで理解するのを助けます。自動リファクタリング・ツールはこの情報を利用し、開発者が抽出しリファクタリングしたいビジネス・サービスを特定するのを支援します。そしてクライアントが選択した場合、これら最初の2つのステップで収集されたメタデータが生成AIを活用した第3の機能にとって重要なコンテキストになります。すなわち、世界中のプログラミング言語で学習され、IBM Z用のCOBOL-Javaプログラムのペアでチューニングされた大規模言語モデル(LLM)が、リファクタリングされたCOBOLプログラムをJavaに変換します。そして最後に開発者は、今後リリースが予定されている自動ユニット・テスト・ツールを使って、新しく変換されたJavaコードを素早くテストし、検証することができます。
このソリューションは、Z/OSのアプリケーションと環境の全スイートで動作するように設計されています。
高品質な、「JOBOL」なしのコード
IBMは、GitHubのようなオープンソースのコード・リポジトリーから、有害なコード、機密性の高いコード、著作権で保護されたコードを徹底的にフィルタリングした後、ベースモデルを学習しました。合計で1兆6,000億以上のコード・トークン(単語と単語の一部)が、このGraniteのベースモデルの学習に使用されました。COBOLとJavaに対するモデルの理解を強化するため、両言語で書かれた何千もの企業プログラムのペアでファイン・チューニングが行われました。不足した部分はAIが生成した合成コードで補いました。
IBMの研究者は、watsonx Code Assistant for IBM ZとChatGPT(OpenAIのLLM搭載チャットボット)を比較したところ、COBOLの翻訳においてWCA for ZがChatGPTを上回ることを発見しました。
IBM Graniteモデルの高いパフォーマンスにはいくつかの理由があります。
1つ目は、モデルのチューニングとカスタマイズに使用されるデータの質です。IBM Zで等価な機能を持ったCOBOLとJavaのプログラムを何千組も作成するために、それらの言語に堪能なIBMのプログラマーが肩を並べて作業を行いました。
コードを一行一行、文字どおりに翻訳することの有効性は、プログラムの場合にも自然言語と同等ぐらいでしかないことがわかりました。この方法でCOBOLをJavaに翻訳すると、「JOBOL」と呼ばれる、読むのも保守するのも難しいコードになってしまいます。IBMのプログラマーは、それぞれのCOBOLプログラムの構文がJavaで正しく表現されるように注意深く作業を行いました。
IBM watsonx Code Assistant for Zの製品責任者であるRichard Larinは言います。「私たちは、z/OS上のCOBOLとJavaを誰よりもよく知っています」「私たちはその知識を大規模言語モデルに与え、お客様のユースケースをどのように扱えばよいか教示したのです」
マイクロサービスをCOBOLのままにしておき、Javaに翻訳しないという選択もあります。「IBM ZはCOBOLとJavaの両方のアプリケーションの効率的なデプロイをサポートしているため、どちらの言語でも近代化されたアプリケーションにハイパフォーマンス、耐障害性、セキュリティーを提供することができます」
このモデルの2つ目の利点は、学習データの大きさです。利用可能な他のコード専用モデルは1兆トークン未満であるのに対して、Graniteでは1.6兆トークンのコードを使用して学習しています。一般的に言って、モデルが学習に利用したコード・トークンの数が多ければ多いほど、様々なコーディング・タスクで優れたパフォーマンスを発揮することが期待できます。
このモデルの3つ目の利点は、コンテキスト・ウィンドウの長さです。コンテキスト・ウィンドウとは、ユーザーのプロンプトに含められるトークンの数です。32,000トークンの長さを持つこのモデルのコンテキスト・ウィンドウは、両方の言語で書かれたアプリケーションの複雑さをよりよく捉えることを可能にします。
AIによるソフトウェア・スタックのモダナイゼーション
watsonx Code Assistant for Zソリューションは、基盤モデルを利用してコードを近代化するIBMの最新の取り組みです。基盤モデルとは、インターネット規模のデータセットで事前学習されたAIモデルで、多くのタスクに適応が可能なAIモデルです。
2021年、IBM ResearchはAIシステムにプログラミングを教えることを目的としたデータセット「Project CodeNet」を立ち上げ、これはDeep Mind社のAlphaCodeプロジェクトのソースとして引用されました。そしてProject CodeNetに続いて、Red Hat Ansible向けのProject Wisdomが発表されました。これは、コードを書くAIモデルを使用して、IT自動化を平易な英語で構築する取り組みです。
この研究は、Ansibleのコード・ライティングを効率化し、企業がビジネス全体のIT自動化を加速できるように支援するAIサービス、watsonx Code Assistant for Red Hat Ansible Lightspeedの基盤にもなっています。このソリューションは現在技術プレビュー中です。
これまでに、IBMコンサルティングは、ITワークフローを自動化するためのAnsibleプレイブックの作成にかかる時間を30%削減しました。
さらに知っていただくためのリンク
- watsonx Code Assistant
- IBM Research のAI for Codeプロジェクト
この記事は英語版IBM Researchブログ「COBOL programmers are getting harder to find. IBM’s code-writing AI can help」(2023年10月26日公開)を翻訳し一部更新したものです。
敷居もコストも低い! ふくろう販売管理システムがBIダッシュボード機能搭載
IBM Data and AI, IBM Partner Ecosystem
目次 販売管理システムを知名度で選んではいないか? 電子取引データの保存完全義務化の本当の意味 ふくろう販売管理システムは「JIIMA認証」取得済み AIによる売上予測機能にも選択肢を 「眠っているデータの活用」が企業の ...続きを読む
セキュリティー・ロードマップ
IBM Cloud Blog
統合脅威管理、耐量子暗号化、半導体イノベーションにより、分散されているマルチクラウド環境が保護されます。 2023 安全な基盤モデルを活用した統合脅威管理により、価値の高い資産を保護 2023年には、統合された脅威管理と ...続きを読む
量子ロードマップ
IBM Cloud Blog
コンピューティングの未来はクォンタム・セントリックです。 2023 量子コンピューティングの並列化を導入 2023年は、Qiskit Runtimeに並列化を導入し、量子ワークフローの速度が向上する年になります。 お客様 ...続きを読む