Skip to main content
QUICK REVIEW

[論文レビュー] Teaching Software Engineering for AI-Enabled Systems

Christian Kästner, Eunsuk Kang|arXiv (Cornell University)|Jan 18, 2020
Software Engineering Research参考文献 13被引用数 5
ひとこと要約

本論文では、実世界の課題であるモデルのバージョニング、データパイプライン工学、公平性といった点を実践的に学ぶことができる、信頼性がありスケーラブルで、倫理的に配慮したAI対応システムを構築するためのソフトウェア工学的原則を学ぶ新しい大学院課程を提示している。このコースは、機械学習(ML)の学生を対象とし、独自のシミュレータを用いた実践的課題を組み合わせており、すべての教材をクリエイティブ・コモンズ・ライセンスの下で公開している。

ABSTRACT

Software engineers have significant expertise to offer when building intelligent systems, drawing on decades of experience and methods for building systems that are scalable, responsive and robust, even when built on unreliable components. Systems with artificial-intelligence or machine-learning (ML) components raise new challenges and require careful engineering. We designed a new course to teach software-engineering skills to students with a background in ML. We specifically go beyond traditional ML courses that teach modeling techniques under artificial conditions and focus, in lecture and assignments, on realism with large and changing datasets, robust and evolvable infrastructure, and purposeful requirements engineering that considers ethics and fairness as well. We describe the course and our infrastructure and share experience and all material from teaching the course for the first time.

研究の動機と目的

  • モデルの正確性に注目するが、実世界のデプロイに向けたソフトウェア工学的実践を軽視するAI教育のギャップを埋める。
  • MLの訓練を受けた学生に、バージョニング、継続的インテグレーション(CI)、システムアーキテクチャといった、信頼性のあるAIシステムを構築するための必須のソフトウェア工学スキルを提供する。
  • モデルのパフォーマンスに注力するデータサイエンティストと、スケーラビリティ、保守性、リスク管理に注力するソフトウェアエンジニアの間の溴を埋める。
  • 教科書のMLシナリオを越えて、データ品質、モデルの更新、倫理的配慮(例:公平性)といった、現実的で実践的なシステム課題を導入する。
  • 他の教育者がAIおよびソフトウェア工学分野で採用できるように、再利用可能でオープンソースのカリキュラムとシミュレーションインfraストラクチャを提供する。

提案手法

  • 機械学習(ML)の学生を対象とし、システム経験が限られた学生向けに、AIシステム開発に焦点を当てたソフトウェア工学的視点の大学院課程を設計した。
  • 実際のユーザー行動、データストリーム、モデルの更新を再現する、映画推薦システムを模擬した独自のシミュレーション環境(シミュレータ)を開発した。
  • コアとなるソフトウェア工学的実践を統合:モデルおよびデータのバージョン管理、CI/CDパイプライン、A/Bテスト、AIシステム向けの脅威モデリング。
  • 実世界のシナリオに基づいた課題を構成:スケーラブルな推薦パイプラインの構築、本番環境でのモデルデプロイ、クレジットスコアリングにおける公平性の評価、セキュリティリスクの分析。
  • 基礎教科書としてHultenの『Building Intelligent Systems』を採用し、ゲスト講義および実用的ツールを補完した。
  • スライド、課題、シミュレータコードを含む、すべてのコース教材をクリエイティブ・コモンズ・ライセンスの下で公開し、再利用・改変を可能にした。

実験結果

リサーチクエスチョン

  • RQ1機械学習の背景を持つが、システム経験が限られた学生に対して、ソフトウェア工学的原則を効果的にどのように教授できるか?
  • RQ2モデルの正確性を超えて、AIコンponentsの本番環境でのデプロイおよび保守における、主な工学的課題は何か?
  • RQ3教育的文脈においてAIシステム工学を教えるために、現実的でスケーラブルかつ拡張可能なシミュレーション環境をどのように設計できるか?
  • RQ4公平性や解釈可能性といった倫理的配慮が、システム設計に果たす役割は何か? そして、それらをソフトウェア工学ワークフローにどのように統合できるか?
  • RQ5AIシステムにおけるデータバージョニング、モデル品質の監視、継続的デプロイを支援するには、どのようなツールと実践が必要か?

主な発見

  • 本コースは、12名の大学院生がソフトウェア工学的実践をAIシステムに適用するのを成功裏に促し、モデルのバージョニングや公平性評価といったトピックの関連性について高いフィードバックを得た。
  • 独自のシミュレータは機能的ではあるが、大幅なエンジニアリング作業を要し、スケーリングが不十分(16万人のユーザー、1秒間に70件のイベント)であったため、リアルなパフォーマンスやコストトレードオフの議論が制限された。
  • 学生はソフトウェア工学の基礎的知識に欠落を感じており、ML学生とソフトウェア工学学生のための別々のトレックが必要であると示唆された。
  • 公平性、説明可能性、データバージョニングのための既存ツールは、未熟または使いにくく、AIシステム工学におけるより良いツールの開発が急務であることを示した。
  • 本コースは、A/Bテストやリスク管理といった倫理的および運用的懸念をAI教育に統合することで、学生のシステム設計的思考を著しく拡張できることを示した。
  • すべてのコース教材、シミュレータおよび課題を含め、クリエイティブ・コモンズ・ライセンスの下で公開され、他の教育者が再利用・改変できるようになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。