鈴木たかのり
イベントの概要
本イベントの概要は以下の通りです。
項目 | 内容 |
---|---|
Web | Guido氏インタラクティブ記念講演会 PyCon JP枠 - connpass |
日時 | 2023年11月30日 |
会場 | 東京大学 浅野キャンパス 武田ホール |
共催 | 東京大学AIセンター、情報処理学会、NEC、日本ディープラーニング協会 |
協力 | 一般社団法人PyCon JP Association |
今回なぜGuido氏が来日したのか、なぜ本イベントが開催されたか背景について簡単に紹介します。
NEC C&C財団はC&C賞という情報処理技術などに貢献した人の表彰を毎年行っています。そして、2023年度C&C賞受賞者としてGuido氏が選ばれました。その表彰式のために初来日することとなったのです。
表彰式準備などのやり取りの中で、情報処理学会副会長でAIセンター教授でもある松原先生から
イベント内容を検討する段階で、日本ディープラーニング協会
イベントの記録
なお、イベントの写真と動画はPyCon JP AssociationのFlickrとYouTubeで公開してあります。
また、当日のX
イベントタイムテーブル
イベントはざっくり以下のようなタイムテーブルで開催しました。
時間 | 内容 |
---|---|
14:30 | 開場・ |
15:00 | 開会あいさつ:矢入健久教授 |
15:05 | GuidoさんにQ&A、休憩 |
15:45 | Guidoさんに活動を見てもらう、休憩 |
16:20 | GuidoさんにライブQ&A |
16:30 | 閉会あいさつ:岡崎直観教授 |
16:35 | 記念撮影、フリータイム |
本レポートではメインコンテンツである、3つの
GuidoさんにQ&A
「GuidoさんにQ&A」
質問に使用したスライドは以下のページで公開しています。
全部で7つの質問をしました。質問を投稿してくれたみなさん、ありがとうございます。ここではいくつかの質問とその回答を紹介します。
「他の人に使ってもらうツール」に大切なこと
- 質問:
「他の人に使ってもらうツール」 を作る上で大切なことは何だと思いますか? - Guidoさん:他の人が何を望んでいるかを知ることは難しく、まずは自分が求めているものを他の人も求めていると考えてはじめることが最初のステップです。
そのあとは、自分のツールを他の人に見せたり、フィードバックをもらうことができます。Pythonは30年間、公開前からそのようにしています。
ユーザーにフィードバックを求めましょう。彼らが求めている機能を追加するのではなく、ユーザーにどういう問題が存在するのかを理解し、その問題を解決する機能を実装します。ユーザーが使っているところを見て、ユーザーの声に耳を傾けます。
GILロックの削除計画
- 質問:GILロックの削除計画について知り興奮しました。最新の情報はありますか?
また、今後のPython開発計画において同様にエキサイティングな計画はありますか? - Guidoさん:GILには良い点と悪い点があります。GILがあるためにPythonでマルチコアプログラミングが困難であるため、GILを削除したいと考えています。その反面、Pythonの実装はGILによってシンプルになっています。
Sam GrossによるGILを除去したPythonのプロトタイプがあります[1]。現在、プロトタイプの変更をPythonのメインコードへマージする作業を進めています。ただし、Pythonインタープリターが安定するまでは数年かかります。
Pythonは年に1回10月にメジャーリリースが行われます(2023年に3. 12がリリースされた)。Python 3. 13からは、ソースコードをbuildするときにGILをオフにするオプションがあります。今から約5年後にリリースされるPythonには、GILが存在しない可能性が高いです。
他の最大の開発方針としてはJIT(ジャスト・ インタイム・ コンパイラ) の計画が進んでいます。Python 3. 13ではオプションで設定できる可能性があります。
Pythonにコミットし続けた理由
- 質問:あなたが30年以上Pythonという言語や周辺のコミュニティへコミットし続けていたのは周知の事実です。並大抵のことではないですが、何がそれを可能にしたのでしょうか?
- Guidoさん:私が継続できたのはPythonコミュニティの存在によると思います。すべての人々、カンファレンス、ワークショップ、書籍、Webサイト、コア開発チームなど、それらが私をつなぎ止めています。
Python以前のソフトウェアに対して記事などを書きましたが、成功しなかったためコミュニティとのつながりを感じていません。Pythonの成功は私にとっては一種の麻薬のようなものです。
Guidoさんに活動を見てもらう
2番目は
以下の6名の皆さんが発表をしてくれました。ありがとうございます。
- CuPy / Kenichi Maehashi
- Active learning to reduce annotation effort / Pieter Blok
- Python as a tool to reverse-engineer hardware / Takumi
- sphinx-new-tab-link / nikkie
- Control Model Train with Python! / Naoki Nakanishi
- My contributions to
comtypes
/ Jun Komoda
なお、発表資料は以下のconnpassページですべて公開されています。
ここでは、Pieter BlokさんとJun Komodaの発表を紹介します。
Active learning to reduce annotation effort / Pieter Blok
1つ目に紹介するのは、東京大学の研究室に所属するPieter Blokさんによる発表です。
発表内容は自身が研究で行っている、ディープラーニングのためのアノテーションについてです。画像のアノテーションには時間がかかり、農業の分野で画像にアノテーションするためには専門的な知識も必要です。そこで、Monte Carlo dropoutという手法を用いて不確実性の高い画像を抽出し、その画像を再度トレーニングに使用することで、アノテーションが効率的に行われるようになったそうです。
コードは以下のリポジトリにあります。
Guidoさんからは
My contributions to comtypes / Jun Komoda
2つ目に紹介するのは、Jun Komodaさんによるcompytesというライブラリへの貢献についての発表です。
comtypesは軽量なPython用のCOM用のパッケージです。WindowsのCOMとpure Pythonでやりとりするための機能を提供します。
Komodaさんはこのライブラリに静的型付けを導入する貢献をしています。この貢献により、comtypesを使用したプログラミングで動的に生成されたモジュールに対して型アノテーションの情報が付加されるため、コーディング時にエディターがメソッドやプロパティの一覧を表示できるようになったそうです。
comtypesは現在もPython 2.
Guidoさんからは
GuidoさんにライブQ&A
最後のコーナーは
ここでは、slidoを使って、来場者からその場で集めた質問に対してGuidoさんに回答してもらいます。
MCはふたたびシバタさんとJonasさんです。MCの2人は質問を選ぶのが大変そうでした。
いくつかの質問とその回答を紹介します。
-
質問:18歳の頃にどんな勉強をしましたか?
(自分が今18歳なので) -
Guidoさん:18歳の頃、地元の高校を卒業しました。数学と物理がとても得意だったため、大学では数学を専攻し物理を副専攻にしました。2年たって、数学と物理は非常に難しかったが、コンピューターは楽しかった。
大学ではパンチカードを使用してコンピューターでプログラムができるようになった。しかしそれが今とどれだけつながりがあるのかはわかりません。自分の心に従って、好奇心を持ってください。
- 質問:もし今1からpythonを実装し直せるとしたら、何を追加し、何を削りますか?
- Guidoさん:おそろしい質問ですね。1つでも何かを変えたら未来は大きく変わり、みなさんはPerlを学んでいるでしょう。だからなにも変えるつもりはありません。
別の方法でやればよかったものとしては、importシステムが複雑なため、探しているモジュールが見つからないことがあります。しかし、将来的には修正されると思います。
- 質問:Python拡張を提案する、PEPのような仕組みはどのようなアイディアをもとに作られたのでしょうか?
- Guidoさん:インターネット標準の策定ルールからコピーしました。インターネットの世界では80年代からRFC
(Request for Comments) というプロセスがあります。PEPという素敵な名前は同僚のBarry Warsawが考えつきました。同様のプロセスはRubyやJavaにもあります。
- 質問:お気に入りのPEPはありますか?
- Guidoさん:たぶん401[2]です。
- 質問:2018年にBDFL[3]
(Pythonの仕様の最終決定者) を辞任しましたが、どのような意味がありましたか? - Guidoさん:以前はPythonに関するあらゆることに関わっていました。そのため、私にとってストレスのかかる言葉で、自分の提案を受け入れてもらうように説得しようとする人もいました。
BDFLを退任したときにPythonコア開発者に今後のガバナンスを考えてほしいと伝えました。そこで毎年選出される5名の運営評議会(Steering Council) という方式になりました。その結果私は決定者ではなくなり、自分の意見を出し、判断は評議会にまかせることができます。ある意見に対して私が賛成しても、評議会が反対すれば却下されます。これはとてもよい仕組みだと思います。
- 質問:日本での旅行では何をするつもりですか?
- Guidoさん:明日、新幹線で京都に行く予定です。なにかおすすめがあれば教えてください。
このようなやりとりでLive Q&Aが終わりました。最後に閉会のあいさつのあと、Guidoさんを囲んで来場者全員での記念撮影をしました。みなさんいい表情で、このイベントを楽しんでもらえたのではないかなと思います。
こうして1.
まとめ・運営裏話
イベント全体を通して、Guidoさんはそれぞれの質問や発表に対して、真摯にときにはユーモアも交えて回答してくれていました。Guidoさんと会ったことがないスタッフは
運営裏話としては、今回は準備期間が短かったこともあり、基本的なだんどりは筆者の方ですべてまとめ、こういうイメージでやりたいということをMCに伝えて推進するという形をとりました。結果として、ほぼほぼイメージした通りのイベントが作れたかなと思っています。イベント後にGuidoさんにこのイベントの感想をきいたときに
インタビューの様子はPyCon JP TVとして録画していたので、後日PyCon JPのYouTubeチャンネルで公開予定です。また、イベント全編は冒頭に書いたとおり公開済みです。
また、せっかくのイベント開催なのでステッカーを作って来場者に配りました。私がデザイナーのnanaさんに無茶振りで
コメントのやりとりを元に、nanaさんがいい感じにデザインにまとめてくれました。かわいいステッカーになったと思います。ありがとうございました!!
また、今回は運営準備を結構がんばったので、具体的にどういうことをやったかを後日PyCon JP Blogに書こうと思っています。
終わりに
最初にJDLAの大谷さんに声をかけてもらってから、PyCon JP Associationの理事やPyCon JP関連のメンバー、JDLA、東大AIセンターなど関係者のみなさんのおかげで成功しました。本イベント関係者のみなさん、そして出ずっぱりで素敵なコメントをしてくれたGuidoさんに感謝します。
本イベントの感想を簡単にPyCon JP TVでも紹介しました。以下の動画の46:30頃から15分ほど触れていますので、もしよかったら見てください。
筆者としては、来年開催されるPyCon US 2024に参加して、Guidoさんと再会したいと思っています。さすがに私のことは覚えてくれていると思いたい!!