2021 Fiscal Year Research-status Report
機械学習システムの構築を効率化する自動永続メモ化ライブラリ
Project/Area Number |
21K21279
|
Research Institution | The University of Tokyo |
Principal Investigator |
中丸 智貴 東京大学, 大学院総合文化研究科, 助教 (70908293)
|
Project Period (FY) |
2021-08-30 – 2023-03-31
|
Keywords | 機械学習 / データサイエンス / Python / Jupyter Notebook / 探索的プログラミング / 基盤的ソフトウェア / ソフトウェア開発効率化 |
Outline of Annual Research Achievements |
2021年10月から開始した研究であり、査読付き論文や公開済みのソフトウェアなどの見える形での研究成果は未だ出ていないものの、多くの研究者との議論によって研究は大きく進展し、申請当初よりも具体的かつ洗練された技術の提案と実装を進めることができている。以下では、議論を通して進展した結果着想することができ、現在実装を進めている技術について、本研究の立ち位置と共に述べる。 本研究は、データサイエンスやAI構築におけるプログラマの試行錯誤を効率化し、現実社会でのさらなるデータ活用の加速を目指している研究である。ここでプログラマの試行錯誤とは、データの分析方法や予測モデルの種類、それらのハイパーパラメータを変えながら最善策を実験的に探索する過程である。データサイエンスやAI構築におけるそのような要素は理論的に決めることが現状不可能であるものが多く、このような過程は避けることができないのが現実である。この問題を解決するため、現在(1)Multiverse NotebookというJupyter Notebook風のプログラミング環境、及び(2)計算資源を効率的に利用する分岐の実現技術の実装を進めている。第一のMultiverse Notebookは試行錯誤の分岐を表現するユーザインターフェイスであり、基本的な設計はConference on Human Factors in Computing Systems 2022 (CHI 2021)においてWeinmanらによって提案されているものであるが、本研究ではさらに進歩的なものの提案・実装を進めている。第二の計算資源を効率的に利用する分岐の実現技術は、多くのオペレーティングシステムで提供されるシステムコールを活用するというものである。これらの進展は他の研究者との議論により研究が進んで得られたものである。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究開始から本報告に至る半年間において、本研究で解消を目指す「探索的な機械学習システムの開発過程における非効率な再計算」がどれほど重要な問題であるかという基本的な点から、申請時に提案した解決手法の欠点・改善法という細部に至るまで、産業界のソフトウェアエンジニア及び分野内の研究者と議論を重ねることで大きく研究を進めることができた。これらの議論から得られた知見は未だ論文という形で発表するに至っていないが、次年度に行う研究活動の基盤となる進展である。 以下では現在採用を決めた手法に至るまでの改善の変遷を簡単に報告する:まず申請当初は、メモリなどにあるデータの変更を高水準なレベル(具体的にはPython という言語レベル)で見つけ出し、変更が起きていなければ再計算を省略するシステムを提案していた。しかしこの方法には大きく二つの問題が発見された。第一の問題は、高水準なレベルでデータの変更の有無を見つけ出すことには当初想定した以上の計算コストが必要であり、実用上問題がある(再計算を回避するための計算の方が時間を要し、全体としてはプログラマの生産性を向上できない)という点である。そして第二の問題は、プログラムのどの部分が再計算されているのかがプログラマには不可視であるという点である。先述の通り、これらの問題は他の研究者との議論において発見され、同時に解決策も導き出すことができている。第一の課題に対する解決方法は、オペレーティングシステムの fork というシステムコールを活用して効率的に行うというものである。第二の課題に対する解決方法は、Jupyter Notebookというよく知られたプログラミングインターフェイスを改良したMultiverse Notebookを構築するというものである。現在これらの解決方法の実装を進めており、次年度内に論文として発表を行うことを目指している。
|
Strategy for Future Research Activity |
今後の研究では、この半年の進展をもとに着想できた解決法を実装し、論文執筆を行う。研究の進め方としては、まずプロトタイプシステムの実装を行う。現在見通せる限りでは、実装を進めている解決法に大きな問題はなく、また外部のソフトウェアエンジニアや研究者が利用できる形のシステムを第一の着地点とし、さらに研究の核となる効率的な計算資源の活用技術を順次組み込んでいくというフィードバックを得やすい形で進めることもできる見込みである。具体的にはシステムの完成と最初のフィードバックを受けるまでを2022年度の前半に達成することを目指している。現時点でプロトタイプシステムの実装は既に着手し、基本的な部分は実装済みであるため、この目標の達成は現実的なものであると考えられる。 2022年度後半には、それまでに構築したプロトタイプシステムの改良に取り組みながら、同時に開発したシステムに組み込んだ技術についてのプログラミング言語研究の学会に向けた論文執筆を進める。また、対象者/利用方法の両方をさらに広げた形でプロトタイプシステムを活用を行なってもらい、本格的なユーザスタディとして提案技術の評価を進める予定である。ユーザスタディの結果を論文という形で公開できるのは2023年度になる可能性はあるものの、そのために必要な実証実験やデータ収集は、本研究の終了予定月である2022年度3月までに完了することを見込んでいる。また年度の終了時にはプロトタイプシステムを自由に利用できるオープンソースソフトウェアとして公開し、学術的な評価のみでなく、広く一般からのフィードバックを受けてより良いシステムに洗練させ、社会全体へ資することを目指している。
|
Causes of Carryover |
新型コロナウィルスの感染状況が改善せず申請時に予定していた学会活動に要する費用が少なくなったこと、申請時のものより洗練された技術の開発に研究が進展したためユーザスタディを年度内に行うことができなかったこと、さらに採択が決まった論文の出版が遅れており支払いが次年度になったことが理由として挙げられる。次年度のコロナウィルスの感染状況は未だ不透明な部分も多いものの、ユーザスタディの規模を大きくする必要も生じているため、次年度使用額を適切に活用できる見込みである。
|