科学技術計算の受託解析と受託開発をする企業に所属しています。プライベートでPyVistaという可視化ライブラリのメンテナをしています。今まで作者におんぶにだっこでしたが、作者2人が活動に時間をさけなくなってきたため忙しくなってきました。
橘祐一郎さん。SNSはwhitphxでやっています https://twitter.com/whitphx
ここ2年くらいStreamlitというpure-Python Web UI frameworkのOSSコミュニティによくいます。コア開発者ではなく、Streamlitの拡張を書いたり、issueや小さいPRを送ったりしています。最初は余暇で無給の趣味としてやっていましたが、半年前からHugging Faceで職を得ました。
00:00:00 82回Podcastスタート。小山さん、whitphxさんの紹介00:03:21 今回の対談企画は、OSSと仕事の関係の話00:04:15 Hugging FaceやLLMの話を先にしましょう。Hugging Faceはそもそも何?00:06:53 Hugging Faceは、会社(組織)、 サービス https://huggingface.co/ 、ライブラリ https://pypi.org/project/transformers/ などがある00:07:43 huggingface.co の Spaces がデプロイサービスで便利で使いやすい。Gradio / Streamlit が標準でサポートされているので、Pythonだったら簡単に使える00:08:48 Transformersは自然言語処理のフレームワークですごく便利00:12:34 LLMなどのモデルによっては、ネットワーク越しにデータを渡しているものがあるから企業内のデータを使う場合は注意が必要ですね。00:13:49 Spacesの使い所や便利さを再確認。WebでUIを簡単にホストしてくれる。00:17:57 Spacesで、GPUを使うこともできる。課金が必要なんですが。00:20:48 学習するときのGPUはどのようなものを使っているのか? ローカル/クラウド? 16GB VRAM??00:25:56 LLMの世界は、営利企業やそれなりの組織じゃないと手が出せない? ファインチューニングはできるか?00:26:34 LLMもモデルの大きさはどう選ぶ?00:30:11 GradioのはHugging Faceでメンテナンスされている。Panelとの違いは? Streamlitと同じレイヤー00:32:05 Python UIフレームワークは他にも、Shiny for Python, Solara, Plotly Dash, Reflex, Reacton, ReactPyとか00:33:13 PyVistaはtrameを使っている00:34:38 Ruby on Railsかは始まったと思われる、軽量Webフレームワークの群雄割拠な時代を少し振り返る00:36:09 Streamlitとか、Tornadoバックエンドが多い。Gradioなど比較的新しいものはFastAPIが使われている00:40:05 PyQtとかGUIツールよりもWebの世界になっている?00:42:36 StreamlitのWasm版をwhitphxさんが作っていいる話00:45:31 whitphxさんが9月のPyCon TW、10月のPyCon APAC in JapanでStreamlitのWasm版のトークをする00:46:02 GradioのWasm版は、Hugging Faceの立場でOSSに関わって作っている00:47:59 OSSでメシを食う話(今回のメイントピック)00:49:36 ピュアにOSSだけでメシを食っているっていう人はどのくらいいるのか?寄付ベースかな?00:52:33 OSSプロジェクトに関係すると成長が実感できる。趣味を超えて仕事と関連したい。00:53:05 小山さんはフリータイムの100%をPyVistaにコミットしている01:01:37 Sphinxはリリースマネージャーがイギリスの方に変わって開発スタイルが大きく変化。さらに一人の腕力で開発がめっちゃ進んでいる。01:08:52 PyVistaのPR承認後、マージまで24時間待つルールは面白い。01:11:30 WebアプリのUI/UXをどうするか? whitphxさんは「インタフェースデザインのお約束」で勉強したが。01:17:30 StreamlitとGradioのフレームワーク設計の違いについて。状態変更で再実行 vs コールバック関数を一つだけ渡す01:25:47 Panelやについても少しだけ。01:27:17 Plotly Dashに比べると、Streamlitのパフォーマンスは気になる??書きやすさとかコード量の違いがある。01:31:02 Hugging Face SpacesのGitの機能と開発スタイルを寺田が聞く。開発はGitHubでやる方がスタイルに合うかな。01:40:13 海外カンファレンス登壇のモチベーションについて、3人で確認し合う01:49:13 PyCon USのスペイン語トラックを他で、別言語で出来ないかな?01:59:03 収録が2時間になってしまうのでこの辺で終了。Streamlit: https://streamlit.io/Gradio: https://www.gradio.app/Panel: https://panel.holoviz.org/trame: https://kitware.github.io/trame/index.htmlPlotly Dash: https://dash.plotly.com/Tornado: https://www.tornadoweb.org/en/stable/FastAPI: https://fastapi.tiangolo.com/ja/PyVista: https://docs.pyvista.org/version/stable/Sphinx: https://www.sphinx-doc.org/ja/master/インタフェースデザインのお約束: https://amzn.to/3YKvxsN