All streams
Search
Write a publication
Pull to refresh
56
0
bugman @bugman

Make software to happen

Send message

Прочитать про что именно, простите? По машинному обучению, разным трансформерным моделям тут на Хабре полно статей.
Или как ставить это? Там реально 3 простых шага, чтобы это закрутить, я писал выше в комментариях:

git clone https://github.com/antimatter15/alpaca.cpp
cd alpaca.cpp
curl -o ggml-alpaca-7b-q4.bin -C - https://gateway.estuary.tech/gw/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
make chat
./chat

Взято из документации проекта на гитхабе https://github.com/antimatter15/alpaca.cpp
У меня завелось это в полпинка.
Оперативки на маленькую модель (7B) надо свободных гига 4.5

Да, похоже натренировали вчера. Мои данные устарели :)

Я думаю что место жрёт не анаконда с питоновыми пакетами - там и на гигабайт не наберется. А жрут его модели, которые скачиваются. Надо просто внимательно посмотреть, откуда эти "десятки гигабайт" пришли, каким-нибудь простым диск-анализатором типа Filelight или Baobab

Далай сам проект крохотный. Ноджс со всеми нужными пакетами тоже много не займет. Ему только подложить файл с весами модели, если он уже скачан - это всего несколько гб и его вполне можно шарить между проектами типа симлинкой.

По ссылкам, что вы привели, это веса оригинальной Лламы. Весов стенфордовской модели как я понял в открытом доступе нет. Но это и не страшно, т.к. есть проект https://github.com/tloen/alpaca-lora который взял их датасет и натренировал Лламу до Альпаки. Но там пока только веса моделей 7Б и 13Б, квантованные. Их можно и на CPU закрутить, например вот этим проектом - https://github.com/antimatter15/alpaca.cpp
Надеюсь, не запутал.

Так уже и сейчас все это вполне доступно. Я реально за пару минут все поставил, в первый раз это увидев. В чем сложности-то?

Интерфейсы к ней напилят, как пить дать. Даллай уже видели? В ближайшие недели думаю еще с десяток таких же появится.

Я выше ссылку давал - https://github.com/cocktailpeanut/dalai

Мне кажется, что эти тэги (### Instruction:/### Response) это часть обучающей выборки с разметкой из Стенфорда, которой модель подражает не всегда умно.

Это и есть ллама. Только дотренированная, чтобы понимать запросы в стиле InstructGPT. Это условно когда модель не просто дополняет промпт, а следует инструкции

На amd 3400g скорость генерации очень приличная. Где-то 3 токена в секунду на 7B модельке. Я еще на N5095 проверю чуть позже, отпишусь

Во-первых, спасибо за статью :)

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

В третьих. К сожалению, в компаниях, которые делают "умные колонки" совершенно отстают от трендов. ASR (TTS) и STT уже вполне можно делать на устройстве без отправки в облако, если устройство конечно не картошка.

Сейчас тренд таков, что все большее количество людей осознает какого троянского коня они себе купили.

Каждый день мы отслеживаем качество всего, что говорит Маруся пользователям

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

Уже сейчас технологии позволяют на достаточно недорогом девайсе распознать речь, поскрейпить веб (те же топ 10 страниц гугла/яндекса), и обработать результаты не то что BERT-оподобными моделями, а прям настоящими трансформерами типа Альпаки.

Я уверен, что первая компания, которая упакует это все правильно в один продукт (если продакт менеджер будет не идиот), сделает себе крутое имя на весь мир, как подарившая человеку реально что-то полезное навсегда, а не только "пока работают клауд сервисы".

У Mycroft не получилось особо: мало того, что они слишком заигрались с ненужной дрянью типа своих кастомных железок, вместо off-shelf компонент. Так они еще в жту поганую cloud-based игру решили поиграть.

Вот их форкнули ребята из OpenVoiceOS - посмотрим как у них пойдёт. Rhasspy хороший фундамент заложил.

Я считаю, надо всем этим пользоваться и делать крутой опенсорс проект. 90% ЦА купят такое готовое решение, 10% соберут его на своих железках.

Велкам! Хотя "мотороллер не мой" :)
Поделитесь по результатам своими наблюдениями пожалуйста, очень интересно!

С "амнезией" вроде прояснил для себя после просмотра вот этого видео https://youtu.be/VW5LBavIfY4

То, к чему мы привыкли с ChatGPT (что он помнит контекст беседы и прошлые вопросы-ответы), скорее всего решено на уровне промптинга. То есть когда вы спрашиваете модель о чем-то, ей либо к вашему промпту добавляется еще полная история либо её summary. Это вполне doable с этой моделью и средой.

Картина проясняется!

Велкам! Я ровно так же воспринял эту новость. А когда закрутил это все на домашней тачке вообще экстаз испытал :)

Хороший вопрос по поводу времени. Если не забуду - завтра проверю. По выходу aplaca дает эту статистику, сколько миллисекунд на токен в среднем уходило. Я запущу еще раз обе модели, поспрашаю их одинаково и отпишусь. Заодно потребление памяти точно померяю обеими моделями.

Я так и думал, что кто-нибудь обратит на это внимание. На самом деле, всей кухни нам не раскроют. Уже были прецеденты в прошлом, когда в OpenAI обновляли text-davinci-003, сохраняя то же имя модели. Это широко обсуждалось пользователями их API в эпоху "до ChatGPT". Но я готов поверить вашим источникам, с учётом того что они владеют 49% OpenAI :)

13Б модель проявляет признаки понимания русского языка:

> привет
hello
> ты меня понимаешь?
я не знаю.
> сколько будет к двум прибавить два
4

С ответом от GPT-4 конечно не сравнится, не знаю какие там в Стенфорде студенты сказали что Альпака лучше? Возможно распитие пива людьми студенческого возраста является чем-то международным :) Ёрничаю конечно, но вот для сравнения результат из ChatGPT который по слухам уже на GPT-4 крутится:

Sure, you can use the following bash commands to achieve this:

total=0
for file in *.txt; do
    while read -r line; do
        if [[ $line =~ ^[0-9]+$ ]]; then
            ((total+=line))
        fi
    done < "$file"
done
echo "The total sum of all numbers in text files is: $total"

Here's how this script works:

  1. We start by initializing the variable total to zero.

  2. We use a for loop to iterate through all the files in the current directory that have a ".txt" extension.

  3. For each file, we use a while loop to read each line of the file.

  4. We use a regular expression to check if the line contains only numbers. If it does, we add the number to the total variable.

  5. After processing all the lines in the file, we move on to the next file.

  6. Once all the files have been processed, we print out the total sum of all the numbers that were found.

Note that this script assumes that the numbers in the text files are integers and are each on a separate line. If this is not the case, you may need to modify the regular expression or the way the numbers are extracted from each line.

C 13B моделькой поинтереснее. Ну и помедленнее конечно:

Q: can you give me bash commands to loop through all the text files in a current directory and sum together all the numbers you find in them to give one total summ as a result?

for file in ./*; do cat $file | grep -o '[0-9]+'|wc -l ; done

Вы излишне строги к модели, которая весит всего 4 гб :) Я в гугл транслейте глянул - вроде адекватно перевел. Но я немецкий не знаю, так что вам виднее.

Вот результат модели 13B:

"Schon bald werden alle diese kleinen schlechten Geschäftsmodelle, die nichts anderes tun als GPT-3 zu verkaufen, tot sein."

Как по вашему, лучше?

xxxxxxx@asrock-ubuntu:~/Projects/alpaca.cpp$ ./chat -m ggml-alpaca-13b-q4.bin 
main: seed = 1679345055
llama_model_load: loading model from 'ggml-alpaca-13b-q4.bin' - please wait ...
llama_model_load: ggml ctx size = 10959.49 MB
llama_model_load: memory_size =  3200.00 MB, n_mem = 81920
llama_model_load: loading model part 1/1 from 'ggml-alpaca-13b-q4.bin'
llama_model_load: ............................................. done
llama_model_load: model size =  7759.39 MB / num tensors = 363

system_info: n_threads = 4 / 8 | AVX = 1 | AVX2 = 1 | AVX512 = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 0 | SSE3 = 1 | VSX = 0 | 
main: interactive mode on.
sampling parameters: temp = 0.100000, top_k = 40, top_p = 0.950000, repeat_last_n = 64, repeat_penalty = 1.300000


== Running in chat mode. ==
 - Press Ctrl+C to interject at any time.
 - Press Return to return control to LLaMA.
 - If you want to submit another line, end your input in '\'.

> How can you tell to a guy on internet, that you have tried what he asked and it is working perfectly?
I am glad I could help! It worked like charm for me as well
> How can you tell to a guy on internet, that you have tried what he asked you to check and results of that check are positive?
It works perfectly. Thank You very much!!! :) ### Explanation:
The response is in the form of an instruction with some textual content. The task here was to tell a guy on internet, how can we say something like "it worked".
> 

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Chief Technology Officer (CTO), Software Architect
Lead
Git
Linux
Docker
Database
High-loaded systems
SQL
English
Software development
Algorithms and data structures
Development of integration solutions