Как стать автором
Обновить

Комментарии 45

А как оставить модель на диске при обновлениях? Чтобы не скачивать каждый раз 50гб

Предложенная мною в гайде модель 7B весит всего 4 Гб. Где вы 50 увидели?

Я 13B качаю

Самое простое - перенесите её куда-нибудь в другое место (mv source destination) а на старое место положите симлинку (ln -s model_file_location place_to_put_simlink)

13B не весит 50 если что. Она весит гигов 8. Вы явно что-то не то скачиваете.

И еще вопрос: при какого рода обновлениях вы боитесь потерять модель?

Самое простое — перенесите её куда-нибудь в другое место (mv source destination) а на старое место положите симлинку (ln -s model_file_location place_to_put_simlink)

Не, я вот хочу с нуля поставить все, допустим. Но у меня уже скачанная модель есть. Запускаю llama install 13B и она начинает качать модель.


Full: The model takes up 60.21GB
Quantized: 4.07GB * 2 = 8.14GB

А, ну видимо 8, да.

Сорри ночь на дворе, я не в кондиции. Почему llama? В гайде лламу я не предлагал ставить, только альпаку.

И воообще, проект далай очень кривой. Если глянете на их issues на гитхабе поймете о чём я. Все вопросы связанные с Далаем лучше туда.

для поиграться сервер не нужен. На удивление легко собралось и быстро работает на телефоне в termux. Последовательность примерно такая:

pkg up
pkg install wget git make clang

а дальше по инструкции из статьи

git clone https://github.com/antimatter15/alpaca.cpp
cd alpaca.cpp
make chat
# download 7B model
wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin
./chat

Александр, гайд просили люди, у которых старые слабые компы. Я думаю телефоны у них такие же

Ни в коем случае не осуждаю гайд, просто еще один вариант, вдруг кому-то пригодится. На самом деле не у профессиональнах разработчиков и не у геймеров зачастую телефон самое мощное устройство.

Тот случай когда 128 Гб флешпамяти и кучу ядер в новом телефоне можно объяснить какой-то пользой.

Да, вы правы. Сейчас же даже в середняки по 4× гб пихают. Сколько оперативки в вашем телефоне, для понимания? Как шустро работает модель?

12гб (xiaomi 11t) работает быстро, ответ на запрос tell me about alpacas начинает выдавать чере ~4 секунды

А на моем redmi note 10s с 6 Гб оперативы termux вылетает после загрузки любой модели. Копал в сторону phantom process killer - безрезультатно. (

Спасибо, что поделились. Обновлю гайд

Жаль ответ полная дичь. Хабр был основан не в 2013, не Дмитрием Гришиным и что за Хабертур?

Фактологические вопросы лучше задавать неквантированным моделям с максимальным количеством параметров. Тогда есть хоть какой-то шанс на более-менее правдивый ответ. Сейчас мы по сути разговариваем не с энциклопедией, а с брошюрой, которая может сказочно галлюцинировать. Не стоит об этом забывать

А все это дело завернуть в docker? Или, может уже есть образ?

С докером есть засада, в свете недавних новостей на докерхабе. Плюс сама модель альпака, её лицензия и свободнораспространяемость под вопросом. Я думаю образ запилят и зальют (если уже не сделали), но сколько он там пролежит - большой вопрос

Интересно, у этого есть практическое применение? Или только образовательно-исследовательское? Например, ChatGPT отлично делает рерайт, сносно пишет тексты, хорошо переводит. А с альпакой что?

Грубо говоря, область применения такая же, как и у ChatGPT, с поправкой на локальность и то количество ресурсов (или времени) которые вы ей дадите:

Q: what is the deep learning and why it is so different from machine learning?
Deep Learning (DL) refers to algorithms which are able to learn complex relationships between data points, while Machine Learning (ML), on the other hand, focuses more narrowly on predicting outcomes based upon known patterns. DL can be used for tasks such as image recognition and natural language processing where ML is not applicable due to its inability to handle non-linearity of real world problems.
Q: how do I see in Linux if my processor is supporting advanced vector instructions (AVX)?
The easiest way would be using the lscpu command, which will show you all kinds of information about your system's hardware and software configuration including whether or not it supports AVX.
Q: Rewrite the following sentence: quick brown fox jumped over the lazy dog.
The fox ran quickly past a sleeping canine, which was too tired to get up from its nap in time for dinner.

"Интересно, у этого есть практическое применение?"

Мне про тигра понравилось. Как говорящая игрушка - просто замечательно.

Есть ещё alpaca 30B модель через install 30B не ставится, но можно скачать вручную и положить в ~/dalai/alpaca/models/30B

magnet:?xt=urn:btih:6K5O4J7DCKAMMMAJHWXQU72OYFXPZQJG&dn=ggml-alpaca-30b-q4.bin&xl=20333638921&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce

Или через hugginface https://huggingface.co/Pi3141/alpaca-30B-ggml

Дополню. Протестировал большую модель, честно сказать я приятно удивлён, на 2678v3 работает довольно шустро, требует 20GB оперативки. Но самое главное - качество ответов, оно на мой взгляд очень хорошее, или может быть я такой везучий и задаю правильные запросы, но в ситуации 1 вопрос - 1 ответ очень похоже на качество chatgpt. Иногда начинает выдавать ерунду, но я останавливаю вывод и заново тот же запрос и не придраться.

Оч круто. Приведите парочку примеров сюда, если не затруднит. Надо на оставшиеся 70 рублей на VPS шикануть и взять памяти поболее чтобы и большую модель покрутить тоже для сравнения.

Я даже не знаю, что привести в пример, потому что практически всё что я пробовал из https://github.com/f/awesome-chatgpt-prompts выдаёт адекватные ответы, но нужно задавать правильно, например

Below is an instruction that describes a task. Write a response that appropriately completes the request.

I want you to act as an English translator, spelling corrector and improver. I will speak to you in any language and you will detect the language, translate it and answer in the corrected and improved version of my text, in English. I want you to replace my simplified A0-level words and sentences with more beautiful and elegant, upper level English words and sentences. Keep the meaning same, but make them more literary. I want you to only reply the correction, the improvements and nothing else, do not write explanations. My first sentence is "Мой кот прикольный малый, но он боится есть"

My cat is adorable, but he's afraid to eat.

Если ввести второй вопрос после ответа в интерактивном режиме, то не всегда правильно работает. Или я придумывал свои запросы

Below is an instruction that describes a task. Write a response that appropriately completes the request.

I want you to act as a virtual pharmacist and biochemist. I will ask questions about drugs or symptoms and you should give the most complete scientific information on this issue.

Write a list of the most effective drugs for senile hearing loss that have a synergistic effect with idebenone.

Вывод приводить не буду, он каждый раз разный, но верный и этих примеров в обучающей выборке alpaca точно нет, т.е. нейросеть знает всё это, и это фантастика.

Первая строчка если хочется задавать вопросы в стиле chatgpt, и получать короткие ответы, но иногда когда нужен длинный ответ лучше написать вопрос в таком стиле:

Topic: biochemistry, pharmacy, medical science. Article: Inositol in relation to hair health.

30B модель получилось запустить через dalai ?
Скачал модель, положил в папку, ~/dalai/alpaca/models/30B
Запустил так: npx --verbose dalai@0.3.0 serve

В ответ получаю:

npm info using npm@9.5.1
npm info using node@v19.8.1
npm verb title npm exec dalai@0.3.0 serve
npm verb argv "exec" "--loglevel" "verbose" "--" "dalai@0.3.0" "serve"
npm verb logfile logs-max:10 dir:/home/zhukovsky/.npm/_logs/2023-03-28T19_57_56_293Z-
npm verb logfile /home/zhukovsky/.npm/_logs/2023-03-28T19_57_56_293Z-debug-0.log
npm http fetch GET 200 https://registry.npmjs.org/dalai 103ms (cache revalidated)
mkdir /home/zhukovsky/dalai
Server running on http://localhost:3000/
> query: { method: 'installed', models: [] }
modelsPath /home/zhukovsky/dalai/alpaca/models
{ modelFolders: [ '30B', '7B' ] }
exists 7B
modelsPath /home/zhukovsky/dalai/llama/models
{ modelFolders: [] }

В интерфейсе выбор модели только alpaca.7B

Какой-то магии не хватает?
64Gb оперативной памяти на машине, потянуть точно должна.

в /home/zhukovsky/dalai/alpaca/models/30B точно файлик ggml лежит?

Да, тоже копал в эту сторону - правильность путей и прочее.
Оказалось, что надо было его переименовать в: ggml-model-q4_0.bin
А по магниту скачивается файл с именем: ggml-alpaca-30b-q4.bin
После переименования заработало. Только что запустил, и всё подхватиолсь.
Благодарю за соучастие ✌️

По ссылке 2 файла. Их нужно как-то объединять? И если да, то как? Потому как если скармливаю первый файл, то выдает ошибку segmentation fault

Нет там два файла с разной квантизацией, ggml-model-q4_0.bin должен подойти, но я использовал тот что в торренте, может он другой. Совместимость зависит от версии dalai, llama.cpp, alpaca.cpp, больше недели прошло, там уже два раза формат файла поменяли :)

Последняя команда вернуть вам управление не должна, так и задумано.

можно поставить pm2 и обернуть команду, чтобы продолжить иметь доступ

Спасибо Вам за такое подробное описание. Как раз то, что надо. Добавила в закладки.
С оборудованием у меня и правда, не густо. Поэтому и спросила о таком варианте.

На здоровье. Напишите пожалуйста потом, как попробуете, что было интересного у вас в диалогах с моделью. И да, учитывайте, что alpaca.cpp сейчас никак не эмулирует память.

Обновил статью. Появились бесплатные варианты онлайн, если только поиграться хочется

А она на русском умеет ?

Умеет, и чем больше модели тем лучше

Можно ли ее дообучить? Например, есть свой справочник. Что для этого нужно сделать?

Спасибо, интересно конечно.
Возникли пару вопросов:
1. Есть ли API этого проекта что бы можно было попробовать интегрировать с другими проектами?
2. Возможно ли как то тренировать альпаку "скармливая" например книги в pdf формате?
3. "13B model" это максимальная модель для альпаки?
4. я так понимаю лучше использовать https://github.com/ggerganov/llama.cpp ? так как альпака не развиваеться?

  1. да. примеры есть в репо георгия

  2. да, примеры есть в куче репозиториев. не конкретно для pdf, а вообще - как зафайнтюнить модель

  3. нет, есть веса до 60b

  4. да, всё верно

Как устанавливал:

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
mkdir /models/30B
cd /models/30B
wget https://huggingface.co/Pi3141/alpaca-lora-30B-ggml/resolve/main/ggml-model-q4_1.bin 

запускаю командой

./main -m ./models/30B/ggml-model-q4_1.bin  -n 128

В консоле просто:

./main -m ./models/30B/ggml-model-q4_1.bin -n 128
main: seed = 1680597228
llama_model_load: loading model from './models/30B/ggml-model-q4_1.bin' - please                                                                                                                                                                                                 wait ...
llama_model_load: n_vocab = 32000
llama_model_load: n_ctx   = 512
llama_model_load: n_embd  = 6656
llama_model_load: n_mult  = 256
llama_model_load: n_head  = 52
llama_model_load: n_layer = 60
llama_model_load: n_rot   = 128
llama_model_load: f16     = 3
llama_model_load: n_ff    = 17920
llama_model_load: n_parts = 4
llama_model_load: type    = 3
llama_model_load: ggml map size = 23269.46 MB
llama_model_load: ggml ctx size = 151.25 KB
llama_model_load: mem required  = 25573.60 MB (+ 3124.00 MB per state)
llama_model_load: loading tensors from './models/30B/ggml-model-q4_1.bin'
llama_model_load: model size = 23269.01 MB / num tensors = 543
llama_init_from_file: kv self size  =  780.00 MB

system_info: n_threads = 12 / 12 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | FMA = 1 | N                                                                                                                                                                                                EON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3                                                                                                                                                                                                 = 1 | VSX = 0 |
sampling: temp = 0.800000, top_k = 40, top_p = 0.950000, repeat_last_n = 64, rep                                                                                                                                                                                                eat_penalty = 1.100000
generate: n_ctx = 512, n_batch = 8, n_predict = 128, n_keep = 0

и все, ничего боле не происходит

возможно не хватает памяти? или какие то другие причины?

Столько инфы, разных моделей, подскажите пожалуйста, какая сейчас самая качественная модель для анализа и суммирования текстов, которую я могу запустить на компе с 64Gb памяти и видяхой RTX 3080 10Gb? Чтобы можно было загрузить пару страниц текста, а она выводы сделала. Или дообучить как-то?

К вопросу об онлайн сервисах.
На deepseek.com реализовали API и "дарят" 1М токенов.
Там модели 67В для чата и 33В для программера

все сделал, как указано в основной части статьи
вроде бы прошло без ошибок
закончил командой
wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin
./chat

на панели

main: seed = 1716499122
llama_model_load: loading model from 'ggml-alpaca-7b-q4.bin' - please wait ...
llama_model_load: ggml ctx size = 6065.34 MB
Segmentation fault (core dumped)
root@cv3815137:~/alpaca.cpp#

и чат не начинается
что не так?

оказалось, что неправильно заказал сервер и не хватало памяти
перезаказал сервер, чтобы было 8 ГБ
и все заработало (!)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории