Abstract
データ分析や高度な計算処理でよく利用されるPythonライブラリの代表として、NumPy、Pandas、Polarsがありますが、今回はその内部構造をタイトルの通りAIをと一緒に探索してみました!
各ライブラリがそれぞれのアーキテクチャを採用し、より柔軟で効率的な処理を目指して様々な工夫をもって構築されています。今回はAIと会話しながらその構造を少しずつ紐解き、そこで得られた知見をご共有します。それぞれの設計思想やライブラリ同士の関係性、C-API / Cython、Rust / Apache Arrow、GIL解放、Lazy Evaluation、ベクトル演算 / SIMDなどの技術要素が盛りだくさんの内部構造を是非一緒にみていきませんか?
生成AIの躍進によりコーディングもある程度AIに任せられる時代となってきましたが、だからこそシステムの仕組みやアーキテクチャ、設計思想などの理解は大事だと感じることが多くなってきています。それらの理解によってプロンプト(AIへの指示内容)も変わり、しっかり意図した通りにプロダクトを動かすことに繋がってきます。
一方で、普段何気に利用しているライブラリなどはその便利な機能を利用していてもその裏で何が起こっているかについて調べることはあまり多くないのではないでしょうか?AIはライブラリに詰まっている膨大な情報も瞬時に読み取り、その読み取った情報をもとに分析・整理することにも長けています。 また、各ライブラリが提供する関数をast解析してみたり、実際に関数を実行したときの実行速度やメモリ使用、計算グラフなどを測定し、それらの特徴の考察もあわせて実施していこうと思います。
データ分析などで長らく愛用されているPythonライブラリの内側を、今更ながらですがAIと一緒に見ていくこととしましょう。
About the speaker
higak9
株式会社iimon所属 沖縄県出身、WebアプリやChrome拡張機能などを中心にエンジニアしています。 フロントエンド、バックエンド(ちょっとインフラ)と幅広めに開発を担当し、バックエンドではDjangoなどでPythonを利用しています。趣味でKaggleなどのデータ分析のコンペティションに参加し、そこでもPython製のライブラリを多用しています。ビールと猫が好きです。
Xアカウント https://x.com/higakazuaki9