先に断っておくと、本当に「動いただけ」の水準なんで悪しからず。

FramePackは生成AIを用いた動画生成ツールで、画像1枚を元にプロンプトによる指定で例えば写っている人物やキャラクターを動かしたような動画を生成できるものだったりする。
動画生成というとかなりマシンパワーが要求されそうな気がするけど、これが比較的安価なラインのグラボの少ないVRAMでも動かせるということで界隈では一躍人気になってたんですな。
画像生成系にはあまり食指が動かなかった僕も、「手持ちの画像が動き出す」という体験は面白くてしばらく遊んでいたんだけど、「低スペックで動かせる」とはいえ流石にそこそこ時間がかかるしゲーミングPCを占有させたくはないしなあということでUbuntu入れたEVO-X2で動かせないものかと試行錯誤してみたので、現時点のものをメモしておきたいと思う。
ファイル構成
例によって個人的にはDockerで運用したいという意向。
Dockerfileは以下の感じ。
FROM ghcr.io/rocm/therock_pytorch_dev_ubuntu_24_04_gfx1151:main
WORKDIR /app
RUN apt update && apt install -y git &&\
git clone https://github.com/lllyasviel/FramePack.git /app/FramePack
WORKDIR /app/FramePack
RUN pip install numpy --ignore-installed numpy --break-system-packages &&\
pip install -r requirements.txt --break-system-packages
RUN git clone https://github.com/git-ai-code/FramePack-eichi /tmp/framepack-eichi &&\
cp -rf /tmp/framepack-eichi/webui/* /app/FramePack/
CMD ["python3", "endframe_ichi.py", "--server=0.0.0.0", "--port=7860"]
別に最初からeichi版を使いたかったわけじゃないんだけど、大元の方のリポジトリのdemo_gradio.pyの記述だとVRAMを96GB割り当ててるとhigh_vramモードに入ってしまい(>60で実装されてる)、するとどうにもVRAM容量が割り当てられずに起動できない現象にぶつかってしまったんですな。
で、別にそこを手で書き換えても良かったんだけど、eichiの方はそこが>100という実装になってて都合良かったしUIの使い勝手も改良されているのでそっちを追加導入する感じで記述。
高速化のためのxformers・flash-attn・sage-attentionは試行錯誤して入れてはみたんだけど、エラーでコケるようになっちゃったり単純にまだRyzen AI Max+ 395(gfx1151)に適した実装がリリースされて無さそうだったりで結局現時点では諦め。
compose.ymlは以下の感じ。
f1版もポート違いで起動するようにしてみた。
services: eichi: restart: always build: ./ ports: - 7860:7860 volumes: - ./outputs:/app/FramePack/outputs - ./hf_download:/app/FramePack/hf_download - ./logs:/app/FramePack/logs devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri security_opt: - seccomp=unconfined cap_add: - SYS_PTRACE f1: restart: always build: ./ command: - python3 - endframe_ichi_f1.py - --server=0.0.0.0 - --port=7861 ports: - 7861:7861 volumes: - ./outputs:/app/FramePack/outputs - ./hf_download:/app/FramePack/hf_download - ./logs:/app/FramePack/logs devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri security_opt: - seccomp=unconfined cap_add: - SYS_PTRACE
あとは普通に起動する感じで。
docker compose up -d
動作について
そんなわけで一応WebUIが立ち上がるところまではいけた。

ただ、生成を回してからも色々厳しくて、なぜかVRAMをモリモリ食べて割当不足に陥ったり特にエラーログも無く落ちたり、そうでなくても手持ちのゲーミングPC(RTX4060Ti・WSL上のUbutnuからDockerで起動)との比較でもやたらと処理が遅かったりで、現状は進んで使おうと思える状況ではなかったですなあ・・・
粘って完走させることはできたし、成果物そのものは見た感じ悪くは無さそうだけども。

まー、あまり深い知識を持ってないなりにも調べていく中で時期尚早なのかなって感じの情報は読み取れたんで、今後の発展に期待といったところだろうか。
