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