codellama неоднократно генерирует символ новой строки

Я использую Langchain с codellama, используя Llama.cpp. (обнимающее лицо - TheBloke/CodeLlama-34B-Instruct-GPTQ) У меня в устройстве 4 Testla T4. Я установил Llama.cpp с OpenBLAS. Когда я загружаю модель с помощью файла hgguf, я вижу параметр BLAS=1 и вижу использование памяти графического процессора с помощью nvdia-smi, оно увеличивается во время загрузки модели. Когда я пытаюсь сгенерировать коделламу с помощью Llama(), все сгенерировалось хорошо.

Но я пытаюсь использовать PromptTemplate и LLMChain. Это не удается, модель не дает значимых результатов. Она просто генерирует много символов \n в качестве вывода. Я не понимаю, почему. Пока он работает, я мог использовать графический процессор, поэтому он использует мои графические процессоры Tesla.

Я использую токен <>, чтобы предоставить LLM дополнительную информацию.

Мой код выглядит следующим образом:

      %set_env TEMPERATURE=0.5 
%set_env GPU_LAYERS=100
%set_env MODEL_PATH=../../llm-models/codellama-34b-instruct.Q4_K_M.gguf
%set_env MODEL_N_CTX=4096
%set_env TOP_P=0.95
%set_env TOP_K=40
%set_env THREADS=8
%set_env EMBEDDINGS_MODEL_NAME=all-mpnet-base-v2

      from langchain.llms import LlamaCpp

stop = ['Human:', 'Assistant:', 'User:']

llm = LlamaCpp(model_path=model_path,
                n_ctx=model_n_ctx, 
                verbose=True, 
                n_threads=threads,
                n_gpu_layers=gpu_layers, 
                n_batch=int(model_n_ctx)/8,
                stop=stop, 
                temperature=temperature,
                top_p=top_p,
                top_k=top_k,
                use_mlock=False,
                max_tokens=2000,
                )

template = f"""<s>[INST] <<SYS>>
{custom_initial_prompt}""" + """
<</SYS>>
problem description:
{text}
code:
{code}[/INST]"""
prompt_template = PromptTemplate(template=template, input_variables=["text", "code"])
chain = LLMChain(llm=llm, prompt=prompt_template, verbose=True)

%%time
result = chain.run(code = script[0].page_content, text = pages[0].page_content)

Результат этой подсказки показан ниже.

Иногда он генерирует много символов новой строки. Как я могу решить эту проблему ?

Я увеличиваю количество графических процессоров. Я попробовал уменьшенную версию модели коделламы (модель 7B). Я пробовал другую версию cuda. Я попробовал загрузить маленькую модель на свой локальный компьютер, все работает хорошо.

0 ответов

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