Проблема с настройкой Llama-2 в Google Colab. Ошибка запуска ячейки при загрузке фрагментов контрольной точки

Я пытаюсь использовать чат Llama 2 (через обнимающееся лицо) с параметрами 7B в Google Colab (Python 3.10.12). Я уже получил свой токен доступа через Meta. Я просто использую код, чтобы понять, как реализовать модель вместе с моим токеном доступа. Вот мой код:

!pip install transformers
 
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

token = "---Token copied from Hugging Face and pasted here---"

tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-chat-hf", token=token)
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-chat-hf", token=token)

Он начинает загрузку модели, но когда доходит до загрузки осколков контрольной точки: он просто перестает работать и ошибок нет:

Какой экземпляр вы используете? Возможно, вам просто не хватило памяти.

Johnny Cheesecutter 18.04.2024 14:47

Просто бесплатная версия с 12,7 ГБ ОЗУ. Должно ли это требовать столько оперативной памяти?

Parseval 18.04.2024 14:56

В float32 это около 25 ГБ (но вам понадобится как оперативная память процессора, так и 25 ГБ оперативной памяти графического процессора). В bfloat16 это около 13 Гб, чего все равно недостаточно для размещения базового экземпляра Colab Cpu: huggingface.co/NousResearch/Llama-2-7b-chat-hf/discussions/3

Johnny Cheesecutter 18.04.2024 15:05

Отлично, тогда я знаю, что проблема в оперативной памяти - кажется, мне нужно запросить у моего работодателя более качественное оборудование. Спасибо. Если вы превратите свой последний комментарий в ответ, я могу принять его и проголосовать за него.

Parseval 18.04.2024 15:09
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
4
622
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема заключается в том, что экземпляру Colab не хватает оперативной памяти. Судя по вашим комментариям, вы используете базовый экземпляр Colab с 12,7 ГБ оперативной памяти ЦП.

Для модели LLama вам понадобится:

  • для модели float32 около 25 ГБ (но вам понадобится как оперативная память процессора, так и такая же оперативная память графического процессора объемом 25 ГБ);
  • для модели bfloat16 около 13 Гб (и все равно недостаточно для установки базового экземпляра Colab Cpu, учитывая, что вам также придется рассчитываться на модели);

Перейдите по этой ссылке для получения подробной информации о необходимых ресурсах: Huggingface.co/NousResearch/Llama-2-7b-chat-hf/discussions/3

Кроме того, если вы хотите только делать выводы (прогнозы) по модели, я бы рекомендовал использовать ее квантованные 4-битные или 8-битные версии. Оба могут работать на процессоре и не требуют много памяти.

Другие вопросы по теме