Как получить желаемый результат от LLM «Обнимающее лицо»?
Чего я хочу: я хочу создавать синтетические обзоры, например, «Медсестры».
Что я использую: я использую open_llama_7b LLM от Hugging face для создания обзоров.
Подсказка, которую я использую: «Ваша задача — создать 10 отзывов медсестер о том, как они относятся к своему рабочему месту. Сгенерируйте:»
Результат, который я получаю: "Я не могу написать 271 слово за две минуты".\n"У меня проблемы с мотивацией писать".\n"У меня проблемы с письмом".\n"Важно писать в журнале для медсестер. потому что..."\n"Я пишу немного, потому что медсестра - это профессия."\n"Я не думаю, что необходимо писать и объяснять медсестру и себя. "\n"Чтобы писать, окружающая среда должна быть чистой и тихой. , и без каких-либо отвлекающих факторов».\n«Уход за больными и письмо важны для меня, потому что…»\n«Я пишу, чтобы писать, и если у меня нет мотивации писать, я не буду писать».\n«А хорошее время, чтобы написать о сестринском деле, — после напряженного дня».\n«Я пишу эту статью, чтобы выразить свои чувства по поводу сестринского дела.»\n»
Результат, который я хочу:
- «Мне нравится работать в этом учреждении. Персонал оказывает невероятную поддержку, а контингент пациентов разнообразен и интересен. Баланс между работой и личной жизнью отличный, и всегда есть чему поучиться».
- «Я чувствую, что меня постоянно просят делать больше с меньшими затратами. Уровень персонала никогда не бывает адекватным, и трудно обеспечить качественный уход, когда вы перегружены работой и недоукомплектованы персоналом».
Код, который я использую:
from transformers import AutoModelForCausalLM
from transformers import AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"openlm-research/open_llama_7b", device_map={"": 0}, load_in_4bit=True
)
tokenizer = AutoTokenizer.from_pretrained("openlm-research/open_llama_7b")
model_inputs = tokenizer(["Your task is to generate 10 reviews written by nurses about how they feel about their workplace. Generate:"], return_tensors="pt").to("cuda")
generated_ids = model.generate(**model_inputs, do_sample=True,top_k=50, top_p=0.95, max_new_tokens = 1300)
tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
Я не уверен, в чем здесь проблема:
- Модель недостаточно мощная?
- Я использую неправильный метод декодирования? (Я читал, что метод по умолчанию является жадным и приводит к нетворческому результату, в настоящее время используется Top-p в сочетании с Top-k)
Спросите , чего мне не хватает в коде, чтобы получить желаемый результат?
Пока что пробовал гуанако 7b и open_llama_7b.