flash_attnをWindowsにインストールするためにやったこと

MicrosoftのPhi-3-vision-128k-instructを動かそうと思ったらflash_attnというのが必要なのにインストールできなくてがんばった。

やったこと

  • 「Developer Command Prompt for VS 2022」 で動かす
    これは必須な気がする

  • CUDAを12.1にする
    いままで11.8を使ってたけど、12.1を使うようにした。PyTorchも入れなおした。これは必要かどうかわからない。TensorFlowが11.8じゃないとダメなので、そのうち戻して試してみる。 -> 戻したけどうまくいかないのでvenvで12.1用の環境をつくった

  • --no-build-isolationをつける
    packagingがないといわれたときに、一度これをつけてpip installしておく必要がありそう。

  • packagingとwheelをインストールする
    なにかの機会にインストールされてると思うけど、なければpip install packaging wheelする

  • DISTUTILS_USE_SDK=1 を設定する
    こんな感じの警告が出てたので従った。これが効いた気がする。

UserWarning: It seems that the VC environment is activated but
 DISTUTILS_USE_SDK is not set.This may lead to multiple 
activations of the VC env.Please set `DISTUTILS_USE_SDK=1` 
and try again.
  • 何回か試す
    試すごとにちょっとずつ進んだ可能性ある

ここで3時間くらい待って追わった。

インストールが長いのには同じ経験の人いた
https://github.com/Dao-AILab/flash-attention/issues/968