Как повысить скорость кода с помощью локального LLM?Python

Программы на Python
Гость
Как повысить скорость кода с помощью локального LLM?

Сообщение Гость »


Меня попросили прочитать более 15 тысяч ячеек открытых ответов из опроса и внести некоторые незначительные изменения. У меня была идея использовать что-то вроде gpt4all, чтобы ускорить работу. Я написал код на Python (честно говоря, я не очень хорошо разбираюсь в Python), который работает с gpt4al, но на каждую ячейку уходит около 5 минут. Если я использую приложение gpt4all, оно обрабатывает каждый ответ намного быстрее, но не сохраняет данные в Excel.

Я подумал, что, возможно, есть лучшая модель/приложение, работающее с Excel, которое было бы быстрее. Или, может быть, есть способы использовать Llama2 или что-то в этом роде, но часы поиска не помогли мне добиться какого-либо прогресса.

Есть ли у кого-нибудь совет?

Мои характеристики:
[*]Процессор: Ryzen 9 5950C [*]Оперативная память: 128 ГБ DDR4 3600 [*]Графический процессор: 3070Ti
Упрощенная версия моего кода:
импортировать панд как pd импортировать gpt4all время импорта # Запишите время начала start_time = время.время() # Настраиваем модель «нус-викуньи» gptj = gpt4all.GPT4All(r"C:\Users\Danny\AppData\Local\nomic.ai\GPT4All\ggml-nous-gpt4-vicuna-13b.bin", n_threads=30) # Настраиваем модель мастера #gptj = gpt4all.GPT4All(r"C:\Users\Danny\AppData\Local\nomic.ai\GPT4All\wizardlm-13b-v1.1-superhot-8k.ggmlv3.q4_0.bin", #n_threads=30) # Настраиваем модель Llama2 #gptj = gpt4all.GPT4All(r"C:\Users\Danny\AppData\Local\nomic.ai\GPT4All\llama-2-7b-chat.ggmlv3.q4_0.bin", # n_threads=28) # Настройте модель мастера без цензуры #gptj = gpt4all.GPT4All(r"C:\Users\Danny\AppData\Local\nomic.ai\GPT4All\wizardLM-13B-Uncensored.ggmlv3.q4_0.bin", #n_threads=30) # Считаем набор данных в DataFrame pandas путь_файла = r'C:\Users\Danny\Documents\School\Anonymizer Stuff\responses.xlsx' печать (путь_файла) данные = pd.read_excel(путь_файла) # Укажите столбец для прохода columns_name = 'Reply_1st' # Замените фактическим именем столбца в вашем наборе данных. # Попробуйте вставить текст подсказки? возможно это ускорит дело # встраивание = Embed4All() # это не сработало # Перебираем каждую строку в указанном столбце для индекса, строка в data.iterrows(): # Получить значение ячейки на основе указанного столбца значение_ячейки = строка[имя_столбца] #print(значение_ячейки) если значение ячейки == 0: continue # Переход к следующей строке, если значение ячейки равно 0 # Создайте шаблон приглашения с анонимизированной строкой # Создайте шаблон приглашения с анонимизированной строкой Prompt_template = """ Текст подсказки здесь """ подсказка_текст = подсказка_шаблон + значение_ячейки + """ } """ # Отправьте запрос модели messages = gptj.generate(prompt=prompt_text, max_tokens=5000, restart_penalty=1, n_batch=100) # Распечатать сообщения, чтобы мы могли видеть #print(сообщения) # Обновите столбец anonymized_oe_1 анонимизированным выводом. data.at[index, 'anonymized_oe_1'] = сообщения #print(res["выбор"][0]["сообщение"]["содержание"]) # Сохраняем измененный DataFrame с анонимизированными выходными данными data.to_excel(r'C:\Users\Danny\Documents\School\Anonymizer Stuff\Попытка 1.xlsx',sheet_name='Sheet1') # Запишите время окончания конечное_время = время.время() # Подсчитаем прошедшее время истекшее_время = конечное_время - начальное_время # Распечатываем прошедшее время в секундах print(f"Прошло время: {elapsed_time} секунд")

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