Pull to refresh
58
0
bugman @bugman

Make software to happen

Send message

Слава богу тут как раз не надо ничего придумывать. В Home Assistant (и паре подобных проектов, но поменьше) уже все придумали. Главное показать пользователю, что покупать проприетарные датчики и исполнительные устройства, которые работают только через WiFi и чьё-то мутное облако покупать не надо. А надо покупать ZigBee и устройства, с которыми можно взаимодействовать напрямую. Это же так просто :)

Поддерживаю всецело. Смысл промт инжиниринга был (да всплыл), пока языковые модели были слабые и немощные, и умели только дополнять предложенный текст. Как только исследователи придумали файнтюнить модели в стиле instruction following, весь смысл промпт инжиниринга канул в прошлое. Как сервисы по настройке карбюраторов, в век инжекторов.

Вы не запускали видимо альпакоподобных на современном мобильном (и доступном) железе

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

Вот, почитайте - https://github.com/bublint/ue5-llama-lora
Современные UI средства, типа oobabooga's text generation webui (https://github.com/oobabooga/text-generation-webui) уже имеют кое-какие инструменты доступные пользователю из коробки

Я думаю сильно раньше.

Уже сейчас народ прикручивает к голосовым ассистенам языковые модели, но почему-то общественной фантазии хватает пока только на то, чтобы прикрутить модели задеплоенные где-то (типа того же ChatGPT). То есть это еще не "свой личный жарвис", а "дядя дал поиграть своим жарвисом, но может отнять в любой момент". Но это наносное, это пройдёт.

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

Мне кажется, уважаемый автор спрашивал вообще о возможности запуска каких-либо text-to-image моделей, а не о том, какие из них лучше работают где. Понятно, что на условной 4090 оно будет работать еще лучше, да какой от этого автору прок?

StableDiffusion вполне таки чувствителен к объёму свободной памяти. Я когда я кручу stable-diffusion-ui (https://github.com/AUTOMATIC1111/stable-diffusion-webui) на домашней машине, то наблюдаю, как с моделью 1.4, при совершенно стандартных-из-коробки-настройках для CPU ...

cd <stable-diffusion-ui>
source venv/bin/activate
python launch.py --precision full --no-half --skip-torch-cuda-test

... на старте главный процесс отжирает 6 Гб + при инференсе еще до гигабайта.

Как ориентир, генерация одного изображения 512x512 на простом промпте ("man on a moon") занимает ~ 4 минуты на 4 потоках Ryzen 5 3400G. Мои попытки использовать ROCm, чтобы задействовать возможности встроенного графического ядра в моём Ryzen ни к каким значимым успехам не привели, кроме повышенных объёмов потребляемой памяти. Но готов поверить, что плохо и мало копал.

Попытки воспользоваться какими-то более продвинутыми функциями, типа img2img вообще крашатся по недостатку памяти.

Надо отметить, что весь этот AI/ML софт переживает infancy своего lifecycle. Я регулярно поглядываю на свежие версии, но вижу совершенно необъяснимые косяки и вариацию по части используемой памяти и стабильности генерации. Я думаю где-то через пару лет эта тема устаканится, чтобы это можно было назвать production grade software. Пока это сугубо для энтузиастов-исследователей.

stablediffusion вполне работает на одном CPU без GPU

Всё так, будет решаться в суде. Никто только особо не хочет добровольно в этот суд лезть, особенно в странах, где судебные издержки великИ :)
Сейчас эта область никак не зарегулирована со стороны государств, и мы наблюдаем некий дикий запад, где пока еще никто не стреляет друг в друга, но все уже ходят озираясь и при оружии. После первых нескольких судебных процессов регуляция подоспеет, и там уже станет яснее, чью сторону она займёт.

Хоть бы ссылку какую оставили на официальный источник - что там сам Яндекс об этом пишет?
Очень хочется надеяться, что там не тупо Stable Diffusion под капотом трудится, к которой неведующие пользователи в очередь выстроились.

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

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

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

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

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

./main -i -m ggml-vicuna-13b-4bit.bin -p "Here is the bash script that walks through all the text files in a given directory, greps all numbers from them and produces one grand total:"

...
Here is the bash script that walks through all the text files in a given directory, greps all numbers from them and produces one grand total:

#!/bin/bash

directory="path/to/your/directory" # replace with your directory path
output_file="total.txt"                 # replace with your desired output file name

if [ ! -d $directory ]; then
  echo "Directory not found."
  exit 1
fi

# walk through all text files in the directory
for file in $directory/*; do
  if [ -f $file ]; then
    # extract only numbers from each text file
    numbers_only=$(grep -oE '[0-9]+' $file)
    echo "Total for $file:" $numbers_only
    if [ ! -d $file ]; then
      rm $file
    fi
  fi
done

# calculate the total of all numbers found
if [ ! -f $output_file ]; then
  echo "0" > $output_file
fi
with_leading_zeros=$(bc <<<"scale=2;$numbers_only")
echo "$with_leading_zeros" | bc -l | tr -d '%' >> $output_file

This script uses grep to search for numbers in all text files in the given directory, and produces a single output file with a grand total. The numbers are extracted from each text file using grep -oE, which searches for one or more occurrences of one or more characters (in this case, digits) in each line of each text file. This is done without creating any temporary files, using && to chain commands and if ! -f to check if the output file already exists before attempting to create it. The final total is calculated by converting each number from the list of numbers to a single digit string with leading zeros as necessary, using bc, and then summing them up using echo "$with_leading_zeros" | bc -l.

Да. Лицензия этих моделей под большим вопросом. В коммерческий продукт точно не вставить

Именно. Сейчас в этой области турбулентные времена - новые модели выходят пачками каждый день, многие основаны на несвободной ЛЛаме, зафайнтюнены на несвободных данных из ChatGPT, но вставляют себе в описание городое Open Source. Когда восхищение пройдёт и пыль уляжется, я подозреваю корпорации займутся этими нарушениями. Поэтому ребята из Стенфорда не публиковали веса своей Альпаки. Поэтому эти ребята не публиковали веса Викуньи, а опубликовали только некоторый патч к весам Лламы - мол если у вас есть легальная Ллама, то вы сможете из неё сделать Викунью сами.

Просто папку с проектом удалите - всего и делов.
Напомнило: Я скачала файл из Интернета, а он мне оказался не нужен. Как его теперь закачать обратно?
Сорри, не удержался :)

В репо каждой из недавно вышедших моделей есть примеры или ссылки на ноутбуки google collab / проекты huggingface, где проводили файнтюнинг.

Например для gpt4all на странице https://github.com/nomic-ai/gpt4all есть ссылки на датасеты (https://huggingface.co/datasets/nomic-ai/gpt4all_prompt_generations_with_p3) и примеры запуска их тулкита для дообучения лламы 7Б:

accelerate launch --dynamo_backend=inductor --num_processes=8 --num_machines=1 --machine_rank=0 --deepspeed_multinode_launcher standard --mixed_precision=bf16  --use_deepspeed --deepspeed_config_file=configs/deepspeed/ds_config.json train.py --config configs/train/finetune-7b.yaml

Не сочтите за грубость, но судя по тем вопросам, которые вы задаёте, вы погодите пока лезть в эту тему: вас ожидает множество проблем на каждом шагу. Дайте этой теме немного "устаканиться" и дождитесь, пока появятся более дружелюбные обычному пользователю инструменты. Они обязательно вскорости появятся, как и пошаговые гайды. Пока, по степени зрелости, это скорее инструменты для разработчика чем для пользователя.

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