Amazon Web Services ブログ
AWS による Jupyter の 生成系 AI の民主化とノートブック実行のスケールのための新しい拡張機能を発表
Project Jupyter は複数のステークホルダーで運営されるオープンソースプロジェクトであり、データサイエンス、機械学習、計算科学のためのアプリケーションだけでなく公開標準やツールも開発しています。なかでも、2011 年にリリースされた Jupyter Notebook は学術、研究、産業のあらゆる分野で世界で数百万人のユーザーが使用するデファクトスタンダードのツールとなりました。Jupyter ではユーザーがコードやデータをインタラクティブに実行でき、完全に再現可能な作業記録として作成、共有することが可能です。
AWS はデータサイエンティストや機械学習エンジニアにとって欠かせない Jupyter を開発する Project Jupyter のスポンサー及びコントリビューターとして積極的に活動しています。私たちの目的は、Jupyter がデータサイエンスと機械学習のための最高のノートブックプラットフォームとなるようオープンソースコミュニティで支援することです。AWS は NumFOCUS 財団を通じて Project Jupyter のプラチナスポンサーとなっており、Brian(筆者)は AWS エンジニアの専門チームを率いて Jupyter のソフトウェアに貢献し Jupyter のコミュニティとガバナンスに参加しています。AWS は JupyterLab, Jupyter Server, Jupyter Notebook などのサブプロジェクトをはじめとして Jupyter のオープンソースへ貢献してきました。さらに、セキュリティおよび多様性、公平性、包括性 (DEI) についてのワーキンググループのメンバーとしても活動しています。こうしたオープンソースへの貢献と並行して、AWS のプロダクトチームは Jupyter と Amazon SageMaker などとのプロダクトの統合に取り組んでいます。
AWS は 2023/5/10 の JupyterCon において、Jupyter ユーザーの体験を向上させ開発の生産性を高める新しいツールを発表しました。これらのツールは全てオープンソースであり、Jupyter を実行している場所であればどこでも使用することができます。
生成系 AI に関する Jupyter 拡張機能のご紹介
生成系 AI はデータサイエンティストや開発者がコードを書く際の生産性を大幅に向上させることができます。チャット UI、IPython マジックコマンドから生成系 AI を使用できる機能と、AI によるソースコードの生成を実現する 2 つの Jupyter 拡張機能を紹介します。これらの拡張機能により、JupyterLab や Jupyter Notebook で生成系 AI モデルを使った様々な開発作業を行うことができるようになります。
Jupyter AI: Jupyter のノートブックへ生成系 AI を提供するオープンソースプロジェクト
Jupyter AI は、ChatGPT、AI21 が開発した Jurassic-2、Amazon Titan(近日公開)といった大規模言語モデルを利用した生成系 AI の機能を Jupyter のノートブックから利用できるようにするオープンソースプロジェクトです。例えば、大規模言語モデルを利用することで Jupyter AI はプログラマがソースコードの生成、デバッグや説明を行うことを支援することができます。また、Jupyter AI はローカルファイルに関する質問に答えたり、簡単な自然言語のプロンプトからノートブック全体を生成することもできます。Jupyter AI は、どのノートブックや IPython シェルでも利用できるマジックコマンドと、JupyterLab で利用できる親しみやすいチャット UI の両方を提供します。どちらからも幅広いモデルプロバイダーによる数十のモデルを利用できます。JupyterLab のユーザーはテキストやノートブックのセルを選択した後、自然言語でプロンプトを入力することで AI の生成結果を好きな場所に挿入することができます。Jupyter AI は Jupyter の MIME タイプシステムと統合されており、Jupyter がサポートするあらゆるタイプの入力と出力(テキスト、画像など)を扱うことができます。また、Jupyter AI は独自のモデルを統合できる設定を提供しています。Jupyter AI は Project Jupyter の公式オープンソースプロジェクトです。
Amazon CodeWhisperer Jupyter 拡張機能
オートコンプリートは開発者にとって必要不可欠なものであり、生成系 AI によりコードサジェストの体験を大幅に強化することができます。生成系 AI による開発体験を試していただくため、AWS は 2023 年に Amazon CodeWhisperer の一般提供を無料で開始しました。CodeWhisperer は生成系 AI を利用して開発者の生産性を劇的に向上させる AI コーディングコンパニオンです。CodeWhisperer は開発者のコメントと統合開発環境 (IDE) 内の先行コードに基づいてリアルタイムでコードを提案できます。
Amazon CodeWhisperer 拡張機能はリアルタイムで 1 行または関数全体のコードが提案できる機能です。JupyterLab のユーザーは JupyterLab はもちろん Amazon SageMaker Studio 、Amazon SageMaker Studio Lab に無料でインストールして Python ノートブックで使用することができます。CodeWhisperer では、「CSV ファイルから pandas データフレームを作成する」など、特定のタスクの概要を説明したコメントを書き込むと、タスクを実現できる 1 つまたは複数のコードスニペットをノートブック上で直接提案します。ユーザーは提案されたコードをすぐにトップのサジェストを受け入れるだけでなく、他のサジェストを表示する、または自分でコードを書き続けることもできます。
CodeWhisperer はプレビュー期間中にコーディングを加速させる優れたコード生成ができることが証明され、アクセンチュアの事例では開発者は平均して 57 % 速く作業をタスクを完了させることができました。さらに、CodeWhisperer を使用した開発者は使用しなかった開発者に比べて、コーディングタスクを完了させる確率が 27 % 高くなりました。これは開発者の生産性において大きな進歩です。CodeWhisperer にはリファレンストラッカーもあり、コードのサジェストがオープンソースの学習データに似ているかどうかを検出し、そのようなサジェストにフラグを付与することができます。
機械学習モデルを大規模に開発、学習、デプロイするための Jupyter 拡張機能のご紹介
AWS のミッションは、あらゆる産業で機械学習を民主化することです。この目標を達成するために、2017 年に Amazon SageMaker ノートブックインスタンスをリリースしました。これは Jupyter を実行するフルマネージドなコンピュートインスタンスであり、一般的なデータサイエンス及び機械学習パッケージが全て含まれています。2019 年には SageMaker Studio をリリースし、さらなる飛躍を遂げました。このサービスは JupyterLab をベースとした機械学習のための IDE であり、モデルの開発、学習、チューニング、デバッグ、デプロイ、モニタリングを 1 つのアプリケーションから行うことができます。数万の顧客が SageMaker Studio を利用しあらゆる規模のデータサイエンスチームを支えています。また、2021 年には Amazon SageMaker Studio Lab をリリースし、SageMaker の利点をさらに数百万人の Jupyter ユーザーコミュニティへ向けて提供を拡大しました。このサービスもまた JupyterLab をベースとした無料のノートブックサービスであり、無料のコンピューティングリソースと永続的なストレージが含まれています。
AWSは、機械学習の開発を迅速にスケールさせるための 3 つの新機能を発表いたしました。
ノートブックのスケジュール実行機能
2022 年に SageMaker Studio と Studio Lab でノートブックをスケジュールされたジョブとして実行する機能をリリースしました。この機能により、多くのお客様が機械学習ワークフローをスケールさせるために複雑なクラウドインフラを手動で設定する必要がなくなり、時間を節約することができました。
この度ノートブックのスケジューリングツールがオープンソースの Jupyter 拡張機能として提供されることを発表いたしました。このツールにより、JupyterLab が実行されている場所であればどこでも SageMaker 上でノートブックをスケジュール実行できるようになりました。シンプルかつ強力なユーザーインターフェースを介して、ユーザーはノートブックを選択し本番環境で実行されるようジョブとして自動化することができます。ノートブックが選択されると、ツールはノートブック全体のスナップショットを取り、依存関係をコンテナにパッケージ化し、インフラを構築して、ユーザーによって設定されたスケジュールでノートブックを自動化ジョブとして実行し、ジョブの完了後にインフラのプロビジョニングを解除します。これにより、ノートブックを本番環境に移行するまでにかかる時間を数週間から数時間に短縮することができます。詳細はリリースブログをご覧ください。
SageMaker のオープンソースディストリビューション
データサイエンティストや開発者は素早く機械学習アプリケーションの開発を始めたいと考えていますが、必要なパッケージ全てを相互互換性のあるバージョンを手動でインストールすることは時に複雑な作業になります。手作業を省き生産性を向上させるため、機械学習、データサイエンス、データ可視化の最も人気のあるパッケージが含まれる新しいオープンソースディストリビューションを発表しました。このディストリビューションには PyTorch、TensorFlow、Keras などの深層学習フレームワーク、NumPy、scikit-learn、pandas などの人気のある Python パッケージ、JupyterLab や Jupyter Notebook などの IDE が含まれています。また、SemVer を使用してバージョン管理され、定期的にリリースされます。コンテナは Amazon ECR Public Gallery から利用可能であり、ソースコードは GitHub で公開されています。これによりパッケージとビルドプロセスはエンタープライズ水準の透明性を持ち、ディストリビューションを再現、カスタマイズ、再認証することが容易になります。ベースイメージには pip と Conda/Mambda が含まれているため、データサイエンティストは追加のパッケージを素早くインストールして特定の用途に対応することができます。
Amazon CodeGuru Jupyter 拡張機能
Amazon GodeGuru Security 拡張機能が JupyterLab と SageMaker Studio で提供され、セキュリティとコード品質のスキャンを行うことができるようになりました。この新機能はノートブックのユーザーがセル内のインジェクションの脆弱性、データ漏洩、弱い暗号方式、暗号化の不足などのセキュリティ上の問題を検出することを支援します。また、機械学習ライブラリの API の誤用、無効な実行順序、不定値など、計算ノートブックの可読性、再現性、正確性に影響する多くの一般的な問題も検出できます。ノートブックで脆弱性や品質の問題が特定されると、CodeGuru は AWS のセキュリティベストプラクティスに基づいてそれらの問題を解決するための推奨事項を提示します。
まとめ
Jupyter コミュニティがこれらのツールをどのように活用して開発の規模を拡大し、生産性を高め、生成系 AI を活用して業界を変革するのか楽しみです。AWS on Jupyter や、これらの新しいツールのインストール方法、使用開始方法の詳細については、以下のリソースをご覧ください。
- Jupyter on AWS のウェブページ
- Jupyter AI ユーザーガイド
- Amazon CodeWhisperer の関連リソース
- ノートブックスケジューリング拡張機能ユーザーガイド
- ノートブックスケジューリング拡張機能についてのブログ記事
- Amazon SageMaker ディストリビューションの GitHub
- Amazon CodeGuru 拡張機能ユーザーガイド
著者について
Brian Granger は Python プロジェクトのリーダーおよび Project Jupyter の共同創設者であり、Python を中心としたデータサイエンスに関する他のいくつかのオープンソースプロジェクトへも積極的に貢献しています。2016年には、Python で統計的な可視化を行うための Altair パッケージを共同作成しました。また、NumFOCUS 財団の顧問委員会のメンバー、Cal Poly Center for Innovation and Entrepreneurship のファカルティフェロー、AWS のシニアプリンシパルテクノロジストでもあります。
この記事は、Announcing new Jupyter contributions by AWS to democratize generative AI and scale ML workloads を翻訳したものです。
翻訳は Solutions Architect の Lijie Wang が担当しました。