mudler / mudler/LocalAI

Fish Speech backend using ROCM doesn't work

Open
#11,579 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug unconfirmed
Dominant language
Go
Stars
49.2k
Forks
4.5k
Avg merge
1d 3m
Merged PRs (30d)
239

Description

LocalAI version:
localai/localai:master-gpu-hipblas
sha256:f3ff922777a09ec7f63093df7482ebb15d3f94c0f8611d49143fe455b4f7144d

Environment, CPU architecture, OS, and Version:
I'm doing this on unraid 7.3, using portainer.
AMD Ryzen 9 5900X
Radeon AI PRO R9700
Local AI is setup using distribution mode with nodes.

Describe the bug
I tried to use the fish speech backend and this is the error I get failed to route model with internal loader: routing model fishaudio/s2-pro: loading model fish-speech-s2-pro: loading model fishaudio/s2-pro on node rocinante-worker: Failed to load model: No module named 'fish_speech.inference_engine'

this is the docker log

Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="CUDA is not available" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="Using device: cpu, precision: torch.float32, compile: False" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="Loading model from: /models/fish-speech-s2-pro/.artifacts/huggingface/637e4c7713f137cd3cd5969badcf6fa2e2fedd6781c55e4fc5c1a586a64726a0/snapshot" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="[ERROR] Loading model: ModuleNotFoundError: No module named 'fish_speech.inference_engine'" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="Traceback (most recent call last):" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="  File \"/backends/rocm-fish-speech/backend.py\", line 201, in LoadModel" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="    from fish_speech.inference_engine import TTSInferenceEngine" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="ModuleNotFoundError: No module named 'fish_speech.inference_engine'" caller={caller.file="/build/pkg/model/process.go"  caller.L=30

when I try and view the trace for details and click backend log it just has

Model not loaded on any worker

fish-speech-s2-pro isn't currently loaded on any node in the cluster. Check the Nodes page to see which models are running where.

To Reproduce
I try and create a TTS with the fish-speech backend, I get this error

Expected behavior
For it to work

Logs

Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="CUDA is not available" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="Using device: cpu, precision: torch.float32, compile: False" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="Loading model from: /models/fish-speech-s2-pro/.artifacts/huggingface/637e4c7713f137cd3cd5969badcf6fa2e2fedd6781c55e4fc5c1a586a64726a0/snapshot" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="[ERROR] Loading model: ModuleNotFoundError: No module named 'fish_speech.inference_engine'" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="Traceback (most recent call last):" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="  File \"/backends/rocm-fish-speech/backend.py\", line 201, in LoadModel" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="    from fish_speech.inference_engine import TTSInferenceEngine" caller={caller.file="/build/pkg/model/process.go"  caller.L=305 } 
Aug 18 10:47:58 DEBUG GRPC stderr id="fish-speech-s2-pro#0-0.0.0.0:50051" line="ModuleNotFoundError: No module named 'fish_speech.inference_engine'" caller={caller.file="/build/pkg/model/process.go"  caller.L=30

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with /backends/rocm-fish-speech/backend.py around LoadModel line 201 and inspect how fish_speech.inference_engine is provided in the reported image. Reproduce the model-loading failure in the distribution setup and verify that Fish Speech loads without the ModuleNotFoundError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.