/images/avatar.webp

WSL (Ubuntu) + uv 環境で Attention Kernel (flash-attn 等) をインストールする際の注意点と手順

最近、Windows Subsystem for Linux (WSL) を使って Linux 環境で開発を行うことが増えてきました。特に GPU を活用した機械学習の分野では、WSL 2 が NVIDIA CUDA をサポートしたことで、Windows 上でも Linux ベースの開発環境を構築しやすくなりましたね。

さらに、Python のパッケージ管理ツールとして、Rust 製の超高速ツール uv が登場し、pip や venv の代替として注目を集めています。

しかし、この便利な WSL + uv 環境でも、特定のライブラリ、特に GPU アクセラレーションに深く依存するパッケージ (例えば flash-attn のような Attention 実装) のインストールでつまずくことがあります。

この記事では、私が実際に WSL (Ubuntu) + uv 環境で flash-attn をインストールしようとして遭遇したエラーとその解決策、そして関連する Attention Kernel (xformers, sage-attention) のインストール方法、最後に uv コマンドの使い分けについて、備忘録も兼ねてまとめます。

目標

WSL (Ubuntu) 環境で xformers, flash-attn, sage-attention を uv を使ってインストールする。

特に flash-attn のインストール時に発生しやすい問題を解決する。

環境

OS: Windows 11 + WSL 2 (Ubuntu 22.04 LTS)

dotfile作った

これまで色んな人のdotfilesをパクって使ってたんだけど、やっぱり小さいところで不満が出てくるもので、ついに自作してみた。

https://github.com/forblgac/dotfile

感じていた不満点は、

  1. gitレポジトリが膨大なせいでcdするだけで時間かかる(前使ってたdotfilesがいちいちgit statusを読みにいく実装だった…)
  2. vim使うこともあるけど基本はvscode派。なのにvim絡みの記載だらけで修正がめんどくなっていた。
  3. 何やってるのか分からんから遅いとか挙動が変とかあっても治す場所すらわからん。
  4. install.shはあるけどuninstall.shがなくて、地味に苦労した。

があったので、今回は自作した次第。さあ、育てていくぞー!