PyCon TW 2024 カンファレンスレポート

こんにちは。PyLadies Tokyoです。2024年9月に開催されたPyCon TW 2024というイベントに参加してきました。本記事ではこのイベントの模様をレポートします。PyLadies TokyoとしてはPyCon TW 2023から2年連続参加となります。昨年と少し変わったイベントの空気感を感じていただければ幸いです。

PyCon TW 2024とは

PyCon TW 2024は、台湾で開催されるPythonのユーザが集まるカンファレンスです。今年は13年目となり、台湾南部にある高雄という都市で開催されました。2023年まではずっと台北で開催されており、高雄での開催は初の試みです。

PyCon TW 2024 イベント概要

公式サイト https://tw.pycon.org/2024/en-us
開催日 2024年9月21日~9月22日
会場 National Science and Technology Museum(South Complex)⁠台湾、高雄)
参加費 Individual Regular Stage:NT$3,790[1] [2]

各セッションは台湾の中国語(以後台湾語と記載)か英語で行われます。どちらの言語で発表し、どちらの言語でプレゼンテーション資料が作成されているのかが事前にWebsite上に記載されるスタイルは、今年も継続されていました。事前にどのセッションを聞くか判断する際に、どちらの言語が使用されるのかは重要なポイントなので、事前に知ることができるのは嬉しいですね。

吹き出しアイコンが喋る言語、四角いアイコンが資料で使われている言語。喋る言語と資料で使われる言語が異なる場合もある
吹き出しアイコンが喋る言語、四角いアイコンが資料で使われている言語。喋る言語と資料で使われる言語が異なる場合もある

PyCon TW 2023 同様、今年も台風接近の不安がありました。しかしながら、うまくイベント開催時間とずれての最接近となり、雨風が強い時間も多かったものの無事開催とあいなりました。

イベント登録者は350名を超え、日本からは8名、そのうちPyLadies Tokyoからは3名の参加がありました。その他アメリカ、シンガポール、香港、インド、韓国などアジアを中心に世界各国からの参加があったとのこと。現地では台湾語はもちろん、英語も頻繁に飛び交い、また日本語をしゃべれるもしくは勉強中の方も一定数おり、言語面においてあまり不安に思うことはありませんでした。

ネームタグに貼ってデコれるシール。「English Speaker」「日本語は大丈夫」などもありました
ネームタグに貼ってデコれるシール。「English Speaker」「日本語は大丈夫」などありました

翻訳ツール群の活躍

最近はたくさんの翻訳ツールがありますよね。今回の参加では筆者各々リアルタイム翻訳ツールを駆使してセッションに参加していました。

  • Microsoft Teams ライブキャプション・ライブ翻訳機能
  • Microsoft Power Point スピーカーモード
  • Google Translator リアルタイムカメラ翻訳

などなど。

Generative AIの急激な進歩により、昨年までと比べて各ツールの精度が格段に上がっていたこともあり、同時通訳とまではいかないものの、セッションを聞くための補助機能として大活躍しました。昨年までは台湾語セッションへの参加に途方もなく大きな壁を感じていましたが、今年はツールのおかげで台湾語セッションもある程度内容を理解することができたと思います。個人的な感覚としては、もし英語がある程度できる方であれば、台湾語から日本語への直接変換よりも、台湾語から英語に翻訳してパソコン上に表示した方が読みやすいなと感じました。もちろん英語が苦手な方は、台湾語から日本語への直接変換や英語から日本語への変換も補助機能として大変有効です。言語の壁によって海外のイベント参加に躊躇していた方は、ぜひ試してみてはいかがでしょうか。

昨年度は英語スピーカーには英語の字幕が表示されていましたが、今年のPyCon TWでは英語スピーカーには台湾語の字幕が表示されていました(PSFホールのみ⁠⁠。日本同様、英語を苦手とする方が多くいると聞くPyCon TWとして、新しい試みだったのではないでしょうか。これもまた、AIによる翻訳精度やスピードの向上によるのかもしれません。最新の技術を使って言語の壁が薄くなっていくことは、とても良い傾向だと思います。

カンファレンス1日目

PyCon TW 2024の会場は、高雄駅からバスで15分行ったところにある総合文化施設です。駅からは少し距離があるものの、到着したバス停からすぐに会場に入れるため、あまり不便さは感じませんでした。

会場は通路が少し狭めではありましたが、ブースエリアは広く、グループで円になって会話していても他人の邪魔にはならないくらいの広さがありました。PSFホールやR1、R2と呼ばれる部屋の椅子はふかふかの映画館タイプで、長時間座っていてもお尻や腰が痛くなることはありませんでした。

会場はホールが1つ、会議室が3つの4トラック制。ホール名がPSFホールなのはPSFがスポンサーなので。Pythonista的にぐっときます
会場はホールが1つ、会議室が3つの4トラック制。ホール名がPSFホールなのはPSFがスポンサーなので。Pythonista的にぐっときます

オープニングでは、会場の利用ルールや参加者心得、イベント全体のタイムスケジュール等アナウンスを行います。スポンサーの1つであるPSF(Python Software Foundation)からは動画メッセージもありました。⁠今年初めての参加者のみなさんようこそ。いつも参加している皆さん、初参加の人たちが自分のホームと思えるようお手伝いしてあげてね。私たちは家族です!」と初参加の方へのフォローメッセージがアナウンスされたことが印象的でした。初参加の人の居心地のいい環境をみんなでつくる、コミュニティにおいて大変大事なことだと思います。

オープニングの様子
オープニングの様子

[keynote]Entering the World of Audio Signals with Python by SuLi

最初のキーノートは中央研究院情報科学研究所の准研究員であるSuLiさんの発表でした。

SuLiさんの発表の様子
SuLiさんの発表の様子

データサイエンスの観点からPythonを使用したオーディオ処理の話とAIによる音楽生成の話でした。SuLiさんは、AIによる技術が楽曲制作に与える影響と可能性、そして画像生成と同様に生成された音楽の著作権が誰にあるのかという問題、今後の課題等を挙げていました。

個人的に、ピアノ、バイオリン、トロンボーン、フルート、クラリネットの5種類の楽器のある特定の音階の時間領域とKHzの波形の特徴の比較や、リアルの音とAIで生成した音の波形をグラフにして視覚化していたことが面白かったです。これらの比較のために、librosaという音楽や音声の分析のためのPythonのパッケージが使用されていました。音声を視覚化した結果の比較だけでなく、音楽情報検索(MIR)の新興領域として、ピッチ検出(pYIN⁠⁠、スペクトルフラックスによるイベント検出、テンポグラムによるビート検出、クロマグラムによる和音の検出にもlibrosaが使用されていました。

私自身、librosaを使用して音声データをグラフ化したことはあったのですが、音声ファイルの入力から、音響信号の特徴抽出や音楽分析、音声認識の前処理などここまで幅広く対応しているパッケージであることは知らなかったので、音声加工や特徴抽出など試してみたくなりました。 また、聴覚的にはあまり大きな差が無いように感じたリアルの音とAIで生成された音の波形が、似ている箇所も多々あったものの、すぐ分かる程度に異なっていました。この波形の差をどれだけリアルの音の波形に寄せられるかが今後の課題だと思いました。

リアルの音と生成された音の波形の画像
リアルの音と生成された音の波形の画像

Stable DiffusionDALL·Eの台頭によって、視覚的にインパクトのある画像生成の分野が取り上げられがちですが、音楽生成の分野でもAIが発展してきていること、画像生成同様に多くの課題があるということを学ぶ貴重な機会でした。

(レポート:中嶋)

Building Dynamic Knowledge Bases for Technical Documentation Through Retrieval Augmented Generation with Amazon Bedrock by Renaldi Gondosubroto

AWS Summit Jakarta 2024でも発表されていたRenaldiさんのAmazon Bedrockの活用方法についての発表でした。このトークでは、技術ドキュメント管理の最適化をテーマにしていましたが、生成AI初心者にも理解しやすいような内容になっていました。Amazon Bedrockという生成AIを手軽に利用・カスタマイズできるサービスについて解説がありました。また、生成AIモデルの1カテゴリである「大規模言語モデル(LLM⁠⁠」や、LLMの機能を強化するために使われる「RAG(Retrieval-Augmented Generation⁠⁠」などの生成AIにまつわる単語の説明があり、概念がわかりやすく紹介されました。さらに、具体的なアーキテクチャについても詳しく説明され、実際にどのように実装するかが示されていました。

Renaldiさんの発表の様子
Renaldiさんの発表の様子

技術ドキュメントの管理の課題として、ナレッジが蓄積されるにつれてどこにどのドキュメントがあるのかわからなくなることや、最新のドキュメントと古いドキュメントが入り混じってしまうという課題があります。その課題の解決例として、RAGが挙げられていました。

RAGを採用することで、生成AIモデルのみで賄える汎用的な回答だけでなく、より利用者に最適化した受け答えができるようになります。 RAGのユースケースとしては、今回のトークのテーマになっているドキュメントの検索だけでなく、カスタマーサポートなどが挙げられていました。

RAGを実装するためには生成AIモデルのほか、ストレージやデータベース等のデータサービスが必要になりますが、本トーク内では、データサービスとしてS3が挙げられており、S3にデータソースを統合することで一元管理できるようになること、スケーラビリティも確保できるということが説明されていました。実際のアーキテクチャ例をもとにデータソースをどこに置くか、どのようにモニタリングするか、どのようにデータを保護するか、どのようにドキュメントの完全性を維持するかなどが紹介されました。

これまで経験してきた中でも、ドキュメントの管理はいつも課題となっていたことを思い出し、Bedrockを導入すれば解消できるかもしれないという期待が持てました。また、RAGとAmazon OpenSearch Serviceの連携のベストプラクティスについても触れられており、Bedrockを使用する際はデータソースはS3、OpenSearch Serviceはデータのベクトル化と検索のために使用するというアーキテクチャが一般的かつ最適だということを知ることができました。Bedrockのハンズオン自体は何度か行ったことがあるのですが、具体的な活用例や詳細なアーキテクチャの情報は追えていなかったので、参考になりました。私のような生成AI初心者~中級者の人には最適のトークだったと思います。

(レポート:中嶋)

How to learn Japanese with Python by Takanori Suzuki

本トークのスピーカーである鈴木たかのりさんは、PyCon TW 2024唯一の日本人スピーカーです。

鈴木たかのりさんの発表の様子
鈴木たかのりさんの発表の様子

某お笑い芸人に「Why Japanese people?!」とネタにされていたこともありますが、母国語が日本語ではない人からすると、日本語を学習することが難しいという切り口で、日本語の学習を助けるPythonのライブラリの紹介と実装方法を紹介されていました。鈴木さんが会場の聴講者に問いかけたところ、日本語を学習したことがある人が30~40%、日本語に興味を持っている人が70%、日本に訪れたいと思っている人が100%で嬉しかったです。

日本語を学習するハードルとして、以下の3点が挙げられていました。

  • 日本語はひらがなとカタカナ、漢字の3種類を使い分けていること
  • 単語と単語の間にスペースが無いこと
  • 漢字には音読みと訓読みの複数の読み方があること

どの点においても⁠yes⁠という声が上がっており、私も小学校で音読みと訓読みで苦戦したことを思い出しました。確かに日本語ネイティブでない人からしたらかなり難易度が高い言語なのだなと再認識することができて良かったです。

これらのハードルを乗り越えるために、読み方のルビを振る方法や、SudachiPyという、日本語の形態素解析器である「Sudachi」のPythonバインディングを用いて単語間を分割する方法を実装したコードと合わせて話されていました。また、Amazon Pollyという、AWSで提供されている深層学習を使用して人間の声を生成するサービスのText to Speachの機能を用いて読み上げさせることで、実際の発音を学ぶ方法も示されていました。終始聴講者とのやり取りが楽しいトークでした。

興味がある方は以下でスライドと実装コードが確認できるので、ぜひ読んでみてください。

(レポート:中嶋)

From Local Roots to Global Impact: Why Your Presence Matters to the Community by Georgi Ker

カンファレンス1日目のスケジュールは、オープニングとクロージングにそれぞれKeynoteがあるスケジュールになっていました。カンファレンス1日目の2つ目のKeynoteはの理事でもあるGeorgiさんの、コミュニティについてのトークでした。冒頭で「中国語話者も英語話者も、すべての人に自分のトークを理解してもらえるよう配慮したトークを目指す」と宣言し、スライド・トークともに中国語と英語を併用していました(中国語と表記していますが、広東語・北京語など複数混ぜて話されていたようです⁠⁠。

Georgiさんのトークの様子
Georgiさんのトークの様子

GeorgiさんがPythonコミュニティに参加し始めたきっかけは、デザイナーとしてPyCon Thailandのデザインを発注されてからだそうです。そこからPyConのプロモーションを行うマーケティングチームに参加したり、PyLadies Bangkokを立ち上げたりするなど、Pythonコミュニティに積極的に関わるように変化していったそうです。PyLadies Bangkokの立ち上げは、PyLadies TokyoでスタッフをしているselinaさんのPyCon Thailand 2019のトークに触発されてのことだそうです。世界のPyLadies、つながっていますね!

また、トーク終了後も積極的に参加者からの質問を受け付けるなど、交流を深めている姿が見受けられました。

Georgiさんが参加者と交流する様子
Georgiさんが参加者と交流する様子

特に印象的だったのは、Georgiさんが「Pythonコミュニティに参加するのは、プロのプログラマである必要はない。1つのコミュニティ内でさまざまな立場やバックグラウンドを持っている人たちが参加しているほうが健全だと思う」と話していたことでした。さまざまな人がいる会場内の全員とコミュニケーションを取ろうとする姿勢から、複数のコミュニティを立ち上げたり、盛り上げてきた経験が見えるようで、同じくPyLadies Tokyoのスタッフをやっている自分も取り入れていきたい姿勢をこのトークから学ばせてもらいました。

(レポート:赤池)

カンファレンス2日目

Bytes, Pipes, and People by Seth Michael Larson

カンファレンス2日目の最初のトークはPSFの最初のSecurity Developer-in-ResidenceであるSethさんのKeynoteでした。PSFにはSethさんを含めてセキュリティエンジニアはたった2人しかいないそうで、その中でSethさんはPythonパッケージのエコシステムやCPythonのセキュリティを向上させるプロジェクトをリードされているそうです。OSSも含め、全てのソフトウェアでセキュリティが重要になってきているという前提を共有したのち、Pythonエコシステム内でのセキュリティについての取り組みと、車輪の再発明を行わないための工夫や取り組みについてのお話がありました。

具体的には、PyPIでダウンロードできるCPythonを例に挙げていました。PythonのダウンロードページにあるSBOM(Software Bill-of-Materials)は、そのSoftwareに含まれているモジュールをリストアップしたJSONファイルです。このSBOMファイルの中身を確認・精査することで、どのようなセキュリティ脅威が内在しているパッケージであるのかを知ることができるため、セキュリティ対策が取りやすくなるのです。実際に、アメリカのホワイトハウスやEUのサイバーセキュリティ部門にも参照・利用されているそうです。

PSFのPythonのダウンロードページには、各ダウンロードファイルの一番右端にSBOM情報へのリンクがあります
PSFのPythonのダウンロードページには、各ダウンロードファイルの一番右端にSBOM情報へのリンクがあります

質疑応答では、⁠PythonコミュニティやPSFでのセキュリティにさけるリソースは十分なのか?」という質問に対し、⁠要望は年々増えているので、セキュリティについて対応できる人は不足しがち」という回答があり、⁠PSFでも対応できる人は常に募集している」という話が上がっていました。

Sethさんのトークの様子
Sethさんのトークの様子

このトークを聞くまで、パッケージインストールをする際のセキュリティについてや、セキュリティを担保するためにPythonコミュニティ内でもさまざまな活動がされていることを知らなかったので、Pythonコミュニティの裾野の広さを感じました。

本Keynoteの資料は下記サイトに掲載されています。ぜひご覧ください。

(レポート:赤池)

All about decorators by Reuven M. Lerner

PyCon TWでは、トークと並行してチュートリアルと呼ばれる、参加者が実際に手を動かしながら学ぶハンズオン形式の発表もありました。

カンファレンス2日目では、Pythonについての教育企業を運営し、PythonやPandasの入門書籍を執筆しているReuvenさんによるデコレータについてのチュートリアルがありました。このチュートリアルでは、準備された資料をもとに講義を行うのではなく、Reuvenさんがスクリーンでライブコーディングを行いながら説明し、会場からの質問に答える形式で進められました。途中の演習問題では、講師であるReuvenさんへの質問だけでなく、初対面の参加者同士が積極的に教え合い、全員が理解できるよう、お互いに協力し合う姿が見られました。

デコレータとは、関数に特定の処理などを追加・修飾できるようなPythonの機能のことですが、Python学習者が多くつまずいてしまう部分だそうです。Reuvenさんが長年Python学習支援を行なっている経験から、混乱してしまう学習者が多いことも理解しつつ、⁠デコレータは同じコードを何度も書かないようにするための機能であることを理解して活用してほしい」と話していました。

チュートリアルの様子
チュートリアルの様子

Reuvenさんのライブコーディングによる説明で、順を追ってコードをどのように修正していくのか理解できました。デコレータの復習としても、学習者の方にどのように説明すれば理解してもらえるかという教育の面でも学びの多いセッションでした。

(レポート:赤池)

ポスターセッション

PyCon TW 2023にはなかった取り組みの一つとして、PyCon TW 2024 ではポスターセッションがありました。ポスターセッションとは、A0サイズのポスターにそれぞれ発表したい内容を記載し、その内容をポスターに立ち寄った参加者に対して説明したりディスカッションしたりするスタイルの発表です。聴講型のトークと異なり、参加者との距離が近く、発表内容に対して個別に会話しやすい環境のため、聴講型トークとは異なった体験ができます。

ポスター自体はカンファレンス1日目の朝から指定の場所に掲示することができます。休憩時間などポスターセッションの時間帯以外にもポスターを見てもらうことができるので、カンファレンス1日目の朝から貼り出している方も多くいました。

今回PyLadies Tokyoもポスターセッションが採択されていたので、日本から携えたポスターの掲示と説明を行いました。内容は、PyLadies Tokyoの活動報告です。PyLadies Tokyoの成り立ちや普段どんなテーマ・どんな形式のイベントをやっているのか、定例的なイベントのほか、どんなプロジェクト活動を行っているのかなどを大まかにポスターに記載し、詳細の説明は口頭で行いました。

東京以外の都市へ行き、PyLadiesイベントを開催する PyLadies Caravan や、 定例的なイベントの開催方法の1つにグループ研究方式があることなどに興味を持っていただける参加者が多かったことが印象に残っています。グループ研究方式のイベントとは、イベントで決めているテーマについて3、4人のグループを組んで調査・勉強を行い、イベントの最後に発表しあうというものです。中級者以上の人と初心者を混ぜたグループを作り参加者同士コミュニケーションをとることによって、自然と「調べ方」のスキルトランスファーができることをメリットとしてお伝えしたところ「とてもおもしろいね!自分のコミュニティでも取り入れてみるよ!」と言ってくださった方がいて、うれしくなりました。

基本的には英語で会話をしましたが、中には日本語で話しかけてくださる参加者もいました
基本的には英語で会話をしましたが、中には日本語で話しかけてくださる参加者もいました

(レポート:石田)

ライトニングトーク

カンファレンス1日目・2日目ともにクロージング前にライトニングトークがありました。ライトニングトークとは、持ち時間内で伝えたいことを喋りきるというスタイルの発表です。5分のライトニングトークを最近は比較的よく見かけるのですが、本イベントでの持ち時間は3分。短い時間の中でも果敢にライブコーディングするなどの技術トークあり、キャリア系のトークあり、PyCon KRPyCon APACの宣伝あり(なんと同じ日程!)とバラエティに富んだトークが行われました。

慌てすぎてスピーカー画面のままトークを行ってしまう方も
慌てすぎてスピーカー画面のままトークを行ってしまう方も

(レポート:石田)

クロージングイベント

クロージング、いわゆる閉会式では、今年の参加者分析(年代、Python歴、PyCon TW参加回数 etc.)の報告や、2日間の思い出を写真で振り返るなどが行われました。

また、会場の通路に設置されていたスポンサー企業やコミュニティによるブースエリアでは2日間スタンプラリーが行われていました。スタンプを全て集めると抽選でプレゼントがもらえるというもので、この抽選結果発表もクロージング内で行われました。著者もブースでスタンプを集め、それで満足していたのですが、なんと当選!PyCon TW 2025のチケットが半額になる権利とPyCon TWグッズをいただきました。来年もPyCon TW、行かなくては……!

ブースを回るだけではなくミッションをクリアしないともらえないスタンプもあります
ブースを回るだけではなくミッションをクリアしないともらえないスタンプもあります

最後に、PyCon TW 2025のchairの紹介と開催地の発表があり、カンファレンス終了です。開催地は台北に戻るとのこと。来年も楽しみですね。

来年のchairは2名。頑張ってください!
来年のchairは2名。頑張ってください!

(レポート:石田)

おわりに

PyCon TW 2024の雰囲気、感じていただけたでしょうか。PyCon TWでは分析系・Core Python系などカテゴリとしてはバランスを配慮したタイムテーブルが組まれていますが、最近のAIブームも影響し、今年のPyCon TWの分析系カテゴリのトークはAIやAIを利用したアプリケーションの話などが多かったように感じました。トークの傾向は毎年変わります。来年はいったいどんなタイムテーブルが組まれるのでしょうか? 今から楽しみです。もしこの記事を読んで海外のPyConに興味を持たれた方がいたら、ぜひ英語のトークやポスターセッションに応募してみてください!

We're PyLadies Tokyo!
We're PyLadies Tokyo!

(全体構成:石田)

おすすめ記事

記事・ニュース一覧