Трансформеры Класс LlamaForCasualLM: Тайна атрибута base_modelPython

Программы на Python
Ответить
Anonymous
 Трансформеры Класс LlamaForCasualLM: Тайна атрибута base_model

Сообщение Anonymous »

Вопрос:
У меня возникла проблема с библиотекой преобразователей, в частности с инициализацией конвейера. Когда я обращаюсь к атрибуту base_model модели LlamaForCausalLM, кажется, что она повторяется бесконечно.
Вот пример того, что я вижу:

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

from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline

# let's rock the smallest model on hf
MODEL_NAME = "arnir0/Tiny-LLM"

tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(MODEL_NAME)

INPUT = ["the secret to baking a really good cake is ", "a baguette is "]

if __name__ == "__main__":
pipeline = pipeline(
task="text-generation",
model=MODEL_NAME,
device="mps"
)
for out in pipeline(INPUT):
print(out[0]["generated_text"])
Я отлаживаю демо-версию с использованием библиотеки преобразователей в VSCode, и у меня возник вопрос, связанный с функцией конвейера. В частности, когда я создаю конвейер с помощью конвейера("text-generation"), он возвращает объект Pipeline_class с атрибутом model.
Проверив атрибут model, я замечаю, что это экземпляр LlamaForCausalLM, который имеет атрибут base_model, указывающий на LlamaModel. Однако, когда я обращаюсь к атрибуту base_model модели LlamaModel, кажется, что он повторяется бесконечно, а атрибут base_model указывает на другой (или сам?) объект LlamaModel.
Мои вопросы:
  • Завершится ли этот рекурсивный цикл? Есть ли условие, которое разорвет цикл, или это будет продолжаться бесконечно?
  • Почему атрибут model застревает в этом цикле? Это выбор дизайна в библиотеке преобразователей или есть конкретная причина такого поведения?
  • Связано ли рекурсивное поведение атрибута model с файлом model.config? Я проверил model.config, и он кажется нормальным, но я не уверен, есть ли между ними связь.
Окружающая среда: Python 3.13, Transformers 4.57.1, Torch 2.9.1, VSCode

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

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

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

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

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

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