Ошибка CUDA: CUBLAS_STATUS_INVALID_VALUE в cublasGemmEx() с PyTorch, fp16 = FalsePython

Программы на Python
Ответить
Anonymous
 Ошибка CUDA: CUBLAS_STATUS_INVALID_VALUE в cublasGemmEx() с PyTorch, fp16 = False

Сообщение Anonymous »

Я использую RTX 3060 (12 ГБ видеопамяти) и реализую конвейер RAG с моделью внедрения BGE-M3.
Изначально я установил PyTorch с колесом CUDA 12.8 (мой драйвер NVIDIA поддерживает CUDA 12.9). Однако я столкнулся со следующей ошибкой:
Ошибка

Код: Выделить всё

CUDA error: CUBLAS_STATUS_INVALID_VALUE when calling cublasGemmEx(
handle, opa, opb, m, n, k, alpha_ptr, a, CUDA_R_16F, lda, b, CUDA_R_16F,
ldb, beta_ptr, c, std::is_same_v ? CUDA_R_32F : CUDA_R_16F,
ldc, compute_type, CUBLAS_GEMM_DEFAULT_TENSOR_OP
)
Затем я понизил версию до сборки PyTorch CUDA 12.1 (

Код: Выделить всё

torch + cu121
), но я столкнулся со странным поведением:
  • Когда я установил fp16=False, код работает.
  • Когда я установил fp16=True, он не работает.
Эта проблема возникает только в среде CUDA 12.1.
Среда
  • Графический процессор: RTX 3060 (12 ГБ видеопамяти)
  • Драйвер NVIDIA: Совместимость с CUDA 12.9
  • Версия драйвера: 576.02
  • PyTorch: Сборка CUDA 12.1 ()
  • Модель: BGE-M3
  • ОС: Ubuntu 24.04.1 LTS
  • Версия Python: 3.10.19
Минимальный воспроизводимый пример (MRE)
Вот минимальный фрагмент кода, в котором возникает ошибка. Ошибка возникает при настройке use_fp16=True:

Код: Выделить всё

# views.py

from FlagEmbedding import BGEM3FlagModel

embedding_model = BGEM3FlagModel(
"BAAI/bge-m3",
use_fp16=True,   #===== this condition is triggering the CUBLAS error
devices=["cuda"]
)

chunks = []

embeddings = embedding_model.encode(
chunks,
batch_size=12,
max_length=512,
)["dense_vecs"]
Что я пробовал
  • Понижен до сборки PyTorch CUDA 12.1 (

    Код: Выделить всё

    torch + cu121
    ).
  • Проверена установка PyTorch и совместимость драйвера NVIDIA.
Вопрос
Почему установка fp16=True вызывает ошибку CUBLAS_STATUS_INVALID_VALUE?
  • Существует ли проблема с поддержкой FP16 в моей среде (PyTorch/CUDA)?
  • Каковы потенциальные причины этой ошибки и как ее устранить?


Подробнее здесь: https://stackoverflow.com/questions/798 ... h-fp16-fal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»