В чём сила, брат?
Дисклеймер: эта короткая статья создана профаном в ML и LLM, который решил посмотреть на что способны большие языковые модели и никак не хотел задеть чьи либо чувства. Спасибо.
Недавно я задался тем же вопросом, как и герой Бодрова, и решил выяснить это опытным путём, используя нейросети.
Сила в нейросети
Для начала нужно было выбрать подходящую нейросеть с локальны исполнением. Мой выбор пал на https://github.com/IlyaGusev/rulm как на самую простую в настройке и работе.
С нейросетью определились, теперь надо понять как с ней работать. В инструкции на Hugging Face, указана простая инструкции для сборки под Linux https://huggingface.co/IlyaGusev/llama_13b_ru_turbo_alpaca_lora_llamacpp
sudo apt-get install git-lfs
git clone https://huggingface.co/IlyaGusev/llama_13b_ru_turbo_alpaca_lora_llamacpp
cd llama_13b_ru_turbo_alpaca_lora_llamacpp && git lfs install && git lfs pull && cd ..
git clone https://github.com/ggerganov/llama.cpp
cp -R llama_13b_ru_turbo_alpaca_lora_llamacpp/* llama.cpp/models/
cd llama.cpp
make
./main -m ./models/13B/ggml-model-q4_0.bin -p "Вопрос: Почему трава зеленая? Ответ:" -n 512 --temp 0.1
Получаем такую ошибку на последнем шаге, так как версия модели и последняя версия llama.cpp были несовместимы. Что делать? Расчехляем свои навыки поиска информации и приходим к выводу, что есть современная версия моделей в формате gguf.
Теперь меняем ссылку на другую модель из https://huggingface.co/IlyaGusev/saiga2_7b_gguf или https://huggingface.co/IlyaGusev/saiga2_13b_gguf, и пробуем снова.
wget https://huggingface.co/IlyaGusev/saiga2_7b_gguf/resolve/main/model-q4_K.gguf
git clone https://github.com/ggerganov/llama.cpp
cp model-q4_K.gguf llama.cpp/models/model-q4_K.gguf
cd llama.cpp
make
./main -m ./models/model-q4_K.gguf -p "Вопрос: Почему трава зеленая? Ответ:" -n 512 --temp 0.1
Узнаём почему трава зелёная. Отлично! Что делать дальше, раз мы хотим узнать в чём сила?
Сила в промте
Раскрою немного, как и где будем пытаться найти истину, которая как известно рождается, по версии одного иноагента, когда у него был город под подошвой, в спорах. Искать правду мы будем в двух полярных СМИ. Ссылку на одно из них не могу указать, так как трёх буквенная организация может возбудиться - скажем только, что они в английской версии сайта утверждают о себе, как единственном источнике истины о России.
Формируем простой промт для проверки гипотезы:
Ты система для определения политической ориентации в каждом из двух текстах на одну тему, которые разделены знаком | Вопрос: Какой политической ориентации первый и второй текст?
Выполняем команду и ждём ответного гудка:
./main -m ./models/13B/ggml-model-q4_0.bin -p "Ты система для определеления политической ориентации в каждом из двух текстах на одну тему, которые разделены знаком | Вопрос: Какой политической ориентации первый и второй текст? [TEXT1] | [TEXT2]" -n 512 --temp 0.1
Получаем ошибку:
main: error: prompt is too long ([Количество токенов] tokens, max 508)
Что делать? Поисковое кунг-фу подсказывет решение в изменении параметров
./main -m ./models/13B/ggml-model-q4_0.bin -p "Ты система для определения политической ориентации в каждом из двух текстах на одну тему, которые разделены знаком | Вопрос: Какой политической ориентации первый и второй текст? [TEXT1] | [TEXT2]" -n 512 --temp 0.1 -t 6 -b 256 -c 2048
Долгожданный ответ:
Первый текст - левоцентриско ориентирован, второй текст - правоцентриско ориентирован.
Тут и возникает идея сделать из хлеба троллейбус
Сила в Avalonia UI
Открываем запрещённый в РФ продукт JetBrains и начинаем писать код, по принципу фигак и в продакшен, который поможет:
Автоматизировать работу с нейросетью под Windows, Linux и macOS
Загружать статьи из СМИ просто указывая ссылку на статью или вручную задавать текст
Выбирать и загружать модель для выполнения
Включать в себя готовые промты и возможность задать самостоятельно
Чудненько! Теперь включаем клиент для чтения внешнего интернета и переходим к тестам.
Сила в правде
Газетный киоск.
Покупатель:
— Правда есть?
— Правды нет
— А Россия?
— Вся продана. Есть Труд за 3 копейки.
Как и в старом советском анекдоте, правду мы так не обнаружили, но главное к ней стремиться.
Спасибо за внимание, код приложения по ссылке https://github.com/ia-alpatov/truthfinder.git.
Написано под Пепел — 25/17 feat. Грязь