Forwarded from Oleg Ur: (";("
Для начала (читать в фоне)
- https://www.cs101.com - как устроены эти считающие железки
- https://vk.com/wall-101965347_168131 - примерно оно же, единая книга. Можно в бумажном виде.
- https://habr.com/ru/post/664360/ - тебе придётся писать скрипты. Даже простейшая задача на фильтрацию или сортировку может быть решена разными способами.
Читать и практиковаться
- Обязательно освоить консоль и не то что не бояться её, а хотеть туда перейти – потому что графическая морда может быть любая, а консоль даже при переходе с Linux на BSD и QNX похожа: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
- опционально – пройтипизды фаерволла
- обязательно – https://www.freecodecamp.org/news/the-docker-handbook/ (поставить и возиться. Как выяснилось, Костя тоже не вполне понимает, как дебажить, если из докера внутри Linux-системы в виртуалке не пробрасывается 8080 порт. Вчера полтора часа убили, хотя и весело)
Потом, для понимания, зачем ты это всё делаешь и как тебе поддерживать чужие системы (можно вечерами во время работы): https://sre.google/books/
- https://www.cs101.com - как устроены эти считающие железки
- https://vk.com/wall-101965347_168131 - примерно оно же, единая книга. Можно в бумажном виде.
- https://habr.com/ru/post/664360/ - тебе придётся писать скрипты. Даже простейшая задача на фильтрацию или сортировку может быть решена разными способами.
Читать и практиковаться
- Обязательно освоить консоль и не то что не бояться её, а хотеть туда перейти – потому что графическая морда может быть любая, а консоль даже при переходе с Linux на BSD и QNX похожа: https://ubuntu.com/tutorials/command-line-for-beginners#1-overview
- опционально – пройти
vimtutor (http://www2.geog.ucl.ac.uk/~plewis/teaching/unix/vimtutor). Он не обязателен и вряд ли ты с ним будешь работать, но поставить его можно куда угодно (хоть на малину, хоть на 486 комп), он весьма мощный, а главное – умея с ним хоть как-то работать, ты поймёшь, что делать с машиной, которая от тебя за три - обязательно – https://www.freecodecamp.org/news/the-docker-handbook/ (поставить и возиться. Как выяснилось, Костя тоже не вполне понимает, как дебажить, если из докера внутри Linux-системы в виртуалке не пробрасывается 8080 порт. Вчера полтора часа убили, хотя и весело)
Потом, для понимания, зачем ты это всё делаешь и как тебе поддерживать чужие системы (можно вечерами во время работы): https://sre.google/books/
#offtop #image Базовая работа по variational autoencoder, которая привела к появлению DALL-e. Хороша также обзором предыдущих попыток по zeroshot генерации изображений по текстовому входу.
https://arxiv.org/abs/2102.12092
https://arxiv.org/abs/2102.12092
Forwarded from Rufina Rafikova
https://youtu.be/hDCVU_hDblE есть конечно)
YouTube
Диффузионные модели с динамически меняющимся размером
Дмитрий Ветров, НИУ ВШЭ, Москва, Россия
За последние два года диффузионные модели задали новую планку качества в генеративном моделировании.
Эта красивая концепция объединяет в себе нейродиффуры, моделирование на основе скор-функции, приближенные методы…
За последние два года диффузионные модели задали новую планку качества в генеративном моделировании.
Эта красивая концепция объединяет в себе нейродиффуры, моделирование на основе скор-функции, приближенные методы…
Очень лонгрид про умение делать выводы (reasoning) и самосозрание у больших моделек
https://astralcodexten.substack.com/p/somewhat-contra-marcus-on-ai-scaling?s=r
https://astralcodexten.substack.com/p/somewhat-contra-marcus-on-ai-scaling?s=r
Astral Codex Ten
Somewhat Contra Marcus On AI Scaling
...
История развития генеративных (чуть не написал – денегеративных!) моделей
https://medium.com/walmartglobaltech/the-journey-of-open-ai-gpt-models-32d95b7b7fb2
https://medium.com/walmartglobaltech/the-journey-of-open-ai-gpt-models-32d95b7b7fb2
Medium
The Journey of Open AI GPT models
Generative Pre-trained Transformer (GPT) models by OpenAI have taken natural language processing (NLP) community by storm by introducing…
#offtop #networks
Настройка wireguard c правилами, разрешающими трафик от клиентов только наружу
- Ubuntu: https://www.linuxbabe.com/ubuntu/wireguard-vpn-server-ubuntu
- Miktorik: https://www.medo64.com/2022/04/wireguard-on-mikrotik-routeros-7/
Если надо лазать не только наружу, но и в LAN на роутере – в ip/firewall второе правило для Mikrotik прописывается с
Настройка wireguard c правилами, разрешающими трафик от клиентов только наружу
- Ubuntu: https://www.linuxbabe.com/ubuntu/wireguard-vpn-server-ubuntu
- Miktorik: https://www.medo64.com/2022/04/wireguard-on-mikrotik-routeros-7/
Если надо лазать не только наружу, но и в LAN на роутере – в ip/firewall второе правило для Mikrotik прописывается с
chain=input, а не forward. При этом на клиенте в AllowedIPs для сервера нужно, естественно, указывать 0.0.0.0/0.LinuxBabe
Set Up Your Own WireGuard VPN Server on Ubuntu 24.04/22.04
This tutorial shows you how to set up your own WireGuard VPN server on Ubuntu. WireGuard is made specifically for the Linux kernel. It runs inside the Linux kernel and allows you to create fast, modern, and secure VPN tunnel.
#offtop #networks
Надо попробовать: https://github.com/mike6715b/Mikrotik_CF_DDNS/blob/main/CF-Update.rsc#L39 - скрипт для обновления зоны на cloudflare.
Пока что воспользовался сервисом от самого Mikrotik в IP/Cloud.
Надо попробовать: https://github.com/mike6715b/Mikrotik_CF_DDNS/blob/main/CF-Update.rsc#L39 - скрипт для обновления зоны на cloudflare.
Пока что воспользовался сервисом от самого Mikrotik в IP/Cloud.
GitHub
Mikrotik_CF_DDNS/CF-Update.rsc at main · mike6715b/Mikrotik_CF_DDNS
Script for automatic DNS updates on Cloudflare. Contribute to mike6715b/Mikrotik_CF_DDNS development by creating an account on GitHub.
#nlp #bert Отличный cookbook в репозитории по классификации текстов и извлечению именованных сущностей: https://github.com/flairNLP/flair/blob/master/resources/docs/TUTORIAL_10_TRAINING_ZERO_SHOT_MODEL.md
GitHub
flair/resources/docs/TUTORIAL_10_TRAINING_ZERO_SHOT_MODEL.md at master · flairNLP/flair
A very simple framework for state-of-the-art Natural Language Processing (NLP) - flairNLP/flair
#offtop #diffusion
Уже довольно старый (больше года) пост про то, что такое диффузионные модели. Ещё до ярких успехов этого года с stable diffusion и интерфейсом к ней.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
Уже довольно старый (больше года) пост про то, что такое диффузионные модели. Ещё до ярких успехов этого года с stable diffusion и интерфейсом к ней.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
GitHub
GitHub - CompVis/stable-diffusion: A latent text-to-image diffusion model
A latent text-to-image diffusion model. Contribute to CompVis/stable-diffusion development by creating an account on GitHub.
Forwarded from ̶с̶а̶м̶̶о̶изолента мёбиуса
Последние три дня (в пятницу был выходной) занимался машинным переводом, но не для работы.
Идея была в том, чтобы влезть в соревнование AI4TALK от Сбера по распознаванию речи и машинному переводу для малоресурсных языков. Если бы удалось занять призовое место, премию думал потратить на сбор и разметку новых данных, в том числе и для эрзянского, делая таким образом компьютерную лингвистику самоокупаемой.
Несколько дней занимался странными вещами, типа скрапинга эвенкского словаря и написания транслитератора между разными орфографиями башкирского. Дообучил модель NLLB-200 в нескольких версиях, одной из них остался доволен. Сегодня собрался смотреть, как она отработает на тестовых данных... и не смог разобраться с системой сабмита решений. Локально контейнер работает, а при заливке – валится.
Целый день вертел докер с решением и так, и сяк – всё напрасно. Я написал организаторам соревнования, но меня старательно проигнорировали. А когда я вечером нашёл чат соревнования и попытался разобраться там, меня из чата выпилили. И уже в личке админ объяснил, что помогать мне не собираются, потому что я зарегистрировался с политически окрашенным ником команды. А у них, мол, политические взгляды нейтральные, поэтому они считают нормальным тупо читать мои сообщения и не отвечать.
С одной стороны, конечно, я сам дурак; если уж полез играть со Сбером, надо было играть по его правилам и не выпендриваться. С другой – оно всё-таки того стоило, ведь если бы команда "Slava Ukraini" победила в Сберовском конкурсе, это было бы как минимум весело)
Ну а нормальный машинный перевод с эвенкийского языка мы ещё сделаем.
Идея была в том, чтобы влезть в соревнование AI4TALK от Сбера по распознаванию речи и машинному переводу для малоресурсных языков. Если бы удалось занять призовое место, премию думал потратить на сбор и разметку новых данных, в том числе и для эрзянского, делая таким образом компьютерную лингвистику самоокупаемой.
Несколько дней занимался странными вещами, типа скрапинга эвенкского словаря и написания транслитератора между разными орфографиями башкирского. Дообучил модель NLLB-200 в нескольких версиях, одной из них остался доволен. Сегодня собрался смотреть, как она отработает на тестовых данных... и не смог разобраться с системой сабмита решений. Локально контейнер работает, а при заливке – валится.
Целый день вертел докер с решением и так, и сяк – всё напрасно. Я написал организаторам соревнования, но меня старательно проигнорировали. А когда я вечером нашёл чат соревнования и попытался разобраться там, меня из чата выпилили. И уже в личке админ объяснил, что помогать мне не собираются, потому что я зарегистрировался с политически окрашенным ником команды. А у них, мол, политические взгляды нейтральные, поэтому они считают нормальным тупо читать мои сообщения и не отвечать.
С одной стороны, конечно, я сам дурак; если уж полез играть со Сбером, надо было играть по его правилам и не выпендриваться. С другой – оно всё-таки того стоило, ведь если бы команда "Slava Ukraini" победила в Сберовском конкурсе, это было бы как минимум весело)
Ну а нормальный машинный перевод с эвенкийского языка мы ещё сделаем.
Forwarded from Love. Death. Transformers.
Apple выложили офицальные скрипты для конвертации sd в coreml
github
github
GitHub
GitHub - apple/ml-stable-diffusion: Stable Diffusion with Core ML on Apple Silicon
Stable Diffusion with Core ML on Apple Silicon. Contribute to apple/ml-stable-diffusion development by creating an account on GitHub.
Forwarded from Love. Death. Transformers.
Вышло все тоже самое в виде блога от hf 🤗
Го тыкать
Го тыкать
huggingface.co
Using Stable Diffusion with Core ML on Apple Silicon
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
#offtop #Kubernetes
Нашёл очень хорошую статью 2017 года, как разработчик изучала кубер 1.6, понимала основные концепты и механизмы. Примерно то же неоднократно рассказывал @lexfrei разным людям в приватных лекциях за чашкой чая.
Там же ссылки на официальную документацию и отдельно отличная статья про планировщик.
Нашёл очень хорошую статью 2017 года, как разработчик изучала кубер 1.6, понимала основные концепты и механизмы. Примерно то же неоднократно рассказывал @lexfrei разным людям в приватных лекциях за чашкой чая.
Там же ссылки на официальную документацию и отдельно отличная статья про планировщик.
Julia Evans
A few things I've learned about Kubernetes
I’ve been learning about Kubernetes at work recently. I only started seriously thinking about it maybe 6 months ago – my partner Kamal has been excited about Kubernetes for a few years (him: “julia! you can run programs without worrying what computers they…
Forwarded from Karim Iskakov - канал (Karim Iskakov)
Как сделать свой ChatGPT
Думаю все (или абсолютное большинство), кто это читает, уже попробовали ChatGPT. Я лично пользуюсь им почти каждый день и чувствую пользуи деградацию.
Но в один момент там появились конские лимиты сообщений, типа 2 сообщения в час. Потом адские задержки. Потом меня там вообще забанили. Да и вообще, чаты в веб-интерфейсе – это кусок💩
И я сделал свой удобный ChatGPT в телеграме! Притворяться браузером и делать запросы в их интерфейс – не вариант (лимиты, да и бан никто не отменял). Поэтому я решил построить ChatGPT на основе ее базовой модели – GPT-3, благо у нее есть API.
Немного ликбеза. GPT-3 – это большая языковая модель (LLM), которая умеет только одно: принимать на вход текст и писать к нему продолжение. ChatGPT в свою очередь построен на базе GPT-3, но он еще умеет поддерживать контекст в чате, что является game changer'ом🏆 (бешеный хайп на ChatGPT подтверждает это, ведь до него, GPT-3 была уже доступна около года, но всем было пох).
Получается, задача сводится к тому, чтобы научить GPT-3 поддерживать контекст. А сделать это очень просто с правильным промптом. Например, таким:
Далее засовываем это в API в GPT-3 и получаем ответ. Сохраняя вопросы-ответы, мы можем каждый раз вставлять историю диалога в наш промпт, и так GPT-3 будет знать весь контекст. Это работает очень хорошо и почти неотличимо от ChatGPT.
Внизу поделюсь ссылкой на свой репозиторий с телеграм ботом, куда вы сможете вставить OpenAI API ключ и наслаждаться общением с AI в уютном телеграмчике. А первым 10 комметаторам дам доступ в свой поднятный бот (только не обанкротьте меня там, плз 🥲).
P.S.: Если душнить, то ChatGPT в отличии от GPT-3 была дополнительно зафайнтьюнина на диалоговых данных + дообучена на ответахкенийских рабочих за 2$/час разметчиков с помощью RLHF. Но мои тесты показали, что похоже это все нацелено не на улучшение качества и полезности ответов, а на то, чтобы в OpenAI не подали в суд (за то, что их модель с удовольствием рассказывает людям как угнать машину).
*Еще в комменты закину несколько приколюх
🔗 ChatGPT Telegram Bot (GitHub)
🎒 @karim_iskakov
Думаю все (или абсолютное большинство), кто это читает, уже попробовали ChatGPT. Я лично пользуюсь им почти каждый день и чувствую пользу
Но в один момент там появились конские лимиты сообщений, типа 2 сообщения в час. Потом адские задержки. Потом меня там вообще забанили. Да и вообще, чаты в веб-интерфейсе – это кусок
И я сделал свой удобный ChatGPT в телеграме! Притворяться браузером и делать запросы в их интерфейс – не вариант (лимиты, да и бан никто не отменял). Поэтому я решил построить ChatGPT на основе ее базовой модели – GPT-3, благо у нее есть API.
Немного ликбеза. GPT-3 – это большая языковая модель (LLM), которая умеет только одно: принимать на вход текст и писать к нему продолжение. ChatGPT в свою очередь построен на базе GPT-3, но он еще умеет поддерживать контекст в чате, что является game changer'ом
Получается, задача сводится к тому, чтобы научить GPT-3 поддерживать контекст. А сделать это очень просто с правильным промптом. Например, таким:
As an advanced chatbot named ChatGPT, your primary goal is to assist users to the best of your ability. This may involve answering questions, providing helpful information, or completing tasks based on user input.
User: What is the meaning of the Nero Burning ROM logo?
ChatGPT:
Далее засовываем это в API в GPT-3 и получаем ответ. Сохраняя вопросы-ответы, мы можем каждый раз вставлять историю диалога в наш промпт, и так GPT-3 будет знать весь контекст. Это работает очень хорошо и почти неотличимо от ChatGPT.
Внизу поделюсь ссылкой на свой репозиторий с телеграм ботом, куда вы сможете вставить OpenAI API ключ и наслаждаться общением с AI в уютном телеграмчике. А первым 10 комметаторам дам доступ в свой поднятный бот (только не обанкротьте меня там, плз 🥲).
P.S.: Если душнить, то ChatGPT в отличии от GPT-3 была дополнительно зафайнтьюнина на диалоговых данных + дообучена на ответах
*Еще в комменты закину несколько приколюх
🔗 ChatGPT Telegram Bot (GitHub)
🎒 @karim_iskakov
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - father-bot/chatgpt_telegram_bot: 💬 Telegram bot with ChatGPT, Python-based, using OpenAI's API.
💬 Telegram bot with ChatGPT, Python-based, using OpenAI's API. - father-bot/chatgpt_telegram_bot
#gpt #blenderbot подобная система, только намного лучше: применение итеративного подхода к запросам в поисковик (Bing, Google) для получения нейронкой ответа на вопрос
Forwarded from DL in NLP (Vlad Lialin)
You are GPT-3
Увидел в твиттере совершенно огненный тред о том как GPT-3 использет википедию, ipython и другие штуки, чтобы отвечать на вопросы. Выглядит это примерно так. Всё начинается с промта
"You are GPT-3. Answer the following questions. If you can't answer it directly, consult IPython, if you need to answer questions about events past your latest training data April 2021, consult wikipedia." (полный промт на картинке)
Это позволяет GPT-3 отвечать не только на вопросы типа "сколько сантиметров в дюйме" или "как зовут первого президента США", но и на
1. вычислительные задачи — 7 + 19^3
1. операции со строками — разворот строки
1. вопросы о недавних ивентах — когда умерла Елизавета вторая
1. точные даты — когда был выпущен последний эпизод Lost
1. вопросы требущие комбинации common sense и вычислений — число ног паука в третьей степени (сложно перееоценить важность этого вопроса 🤣)
Идея основана на статье Prompt Programming for Large Language Models
По сути в 10 строчек промпта и 100 строк кода вы можете написать своего Google Assistant. Думаю надо будет заняться этим на выходных.
Увидел в твиттере совершенно огненный тред о том как GPT-3 использет википедию, ipython и другие штуки, чтобы отвечать на вопросы. Выглядит это примерно так. Всё начинается с промта
"You are GPT-3. Answer the following questions. If you can't answer it directly, consult IPython, if you need to answer questions about events past your latest training data April 2021, consult wikipedia." (полный промт на картинке)
Это позволяет GPT-3 отвечать не только на вопросы типа "сколько сантиметров в дюйме" или "как зовут первого президента США", но и на
1. вычислительные задачи — 7 + 19^3
1. операции со строками — разворот строки
1. вопросы о недавних ивентах — когда умерла Елизавета вторая
1. точные даты — когда был выпущен последний эпизод Lost
1. вопросы требущие комбинации common sense и вычислений — число ног паука в третьей степени (сложно перееоценить важность этого вопроса 🤣)
Идея основана на статье Prompt Programming for Large Language Models
По сути в 10 строчек промпта и 100 строк кода вы можете написать своего Google Assistant. Думаю надо будет заняться этим на выходных.
Forwarded from Love. Death. Transformers.
#чтивонаночь
RL + retrival feedback
В чем идея: в оригинальном ресерче open ai использовалась схема при которой люди прописывали ревард для ответов модели, что вообще то не оч коректно и не оч скейлиться. Потом они выкинули часть людей и поствили gold RM учиться оценивать ответы, а людей оценивать генерации, писать промпты и оценивать оценку gold rm.
А потом добавили вместо людей proxy model которая учиться быть reward model.
Что я предлагаю: А зачем нам оценки от людей когда мы можем набрать таски которые легко оценивать по cosine similarity, и мы легко можем сравнить что нам модель наврала, а что нет, давая в качестве
А дальше начинается сааамое интересное:
0.37 Question: Sarah didn't like the activity she was doing, but she did it anyway. She felt that it was better than what? Answer: QuestionInvGrooSGroijaWCoSWCGroGroECDGroCVGroDTGroMJGroWCGBTGroDWWCECDGBTECDBMGroJOWCBMFGGroBMWCWCFMLGBTFML
КАЗАЛОСЬ БЫ в чем проблема?
А все довольно просто, видите ли, ppo+gpt довольно умная штука и отлично умеет находить разного рода локальные минимумы и улетает в них легко и весело, ломая reward и emdedings у sentence transofomer.
Я не буду описывать цирк которым занимался по вечерам две последние недели, просто скажу: китайский зло, ироглифы зло, bpe отлично ломает sentence трансформер, в итоге 200 строк кода на эвристики вида
Баги в целом очень специфичные и на некоторые запросы модель по прежнему ломается и бредит(вероятно через пару недель я выложу код + модель поинтереснее с таким подходом), но уже сейчас модель с PPO тюнингом дает +10 к blue score на задаче QA относительно ванильного трейна.
Благодарности @nadlskom за внимательное чтение статей, @gradientdip за полезные советы, neverix за поиск багов, @dealer_ai за выслушивание моего нытья, @seeallochnaya просто потому что.
Ну и да, очевидно это можно применять к любой задаче которая выглядит как: ну вот input, сделай output похожим на <единственный вариант ответа>
сollab если хочется посмотреть на еще багованную версию
Примеры генераций:
Question: What part of a property may be next to a driveway? Answer: The next part is a house or garage or a garage
Question: Jamie wen to the theater near his home. He was surrounded by servicemen. Where might he be? Answer: in the outdoor.
RL + retrival feedback
В чем идея: в оригинальном ресерче open ai использовалась схема при которой люди прописывали ревард для ответов модели, что вообще то не оч коректно и не оч скейлиться. Потом они выкинули часть людей и поствили gold RM учиться оценивать ответы, а людей оценивать генерации, писать промпты и оценивать оценку gold rm.
А потом добавили вместо людей proxy model которая учиться быть reward model.
Что я предлагаю: А зачем нам оценки от людей когда мы можем набрать таски которые легко оценивать по cosine similarity, и мы легко можем сравнить что нам модель наврала, а что нет, давая в качестве
reward = cosine_similarity(ground true answer, predicted answer)
Собственно, банальный вопрос анальный ответ, взял gpt2(110m), написал простой retrival(возвращает по вопросу -ответу ревард) на sentence transformer, взял trl и поcтавил учиться. А дальше начинается сааамое интересное:
0.37 Question: Sarah didn't like the activity she was doing, but she did it anyway. She felt that it was better than what? Answer: QuestionInvGrooSGroijaWCoSWCGroGroECDGroCVGroDTGroMJGroWCGBTGroDWWCECDGBTECDBMGroJOWCBMFGGroBMWCWCFMLGBTFML
КАЗАЛОСЬ БЫ в чем проблема?
А все довольно просто, видите ли, ppo+gpt довольно умная штука и отлично умеет находить разного рода локальные минимумы и улетает в них легко и весело, ломая reward и emdedings у sentence transofomer.
Я не буду описывать цирк которым занимался по вечерам две последние недели, просто скажу: китайский зло, ироглифы зло, bpe отлично ломает sentence трансформер, в итоге 200 строк кода на эвристики вида
(if bad_regex in answer): return 0
А еще очень сильно помог подбор гиперпараметров для KL value и LM weight, cпасибо за уточнение от @nadlskom что каждые 10 эпох open ai прогоняли эпоху классического FineTune(стабилизировало трейн и mean начал быстрее рости)Баги в целом очень специфичные и на некоторые запросы модель по прежнему ломается и бредит(вероятно через пару недель я выложу код + модель поинтереснее с таким подходом), но уже сейчас модель с PPO тюнингом дает +10 к blue score на задаче QA относительно ванильного трейна.
Благодарности @nadlskom за внимательное чтение статей, @gradientdip за полезные советы, neverix за поиск багов, @dealer_ai за выслушивание моего нытья, @seeallochnaya просто потому что.
Ну и да, очевидно это можно применять к любой задаче которая выглядит как: ну вот input, сделай output похожим на <единственный вариант ответа>
сollab если хочется посмотреть на еще багованную версию
Примеры генераций:
Question: What part of a property may be next to a driveway? Answer: The next part is a house or garage or a garage
Question: Jamie wen to the theater near his home. He was surrounded by servicemen. Where might he be? Answer: in the outdoor.
Google
trl_public
Colaboratory notebook
Forwarded from Love. Death. Transformers.
подписчики притащили поисковик по архиву который я раньше не видел, и он 💫 п р е к р а с е н💫
arxivxplorer.com
@lovedeathtransformers
arxivxplorer.com
@lovedeathtransformers
Please open Telegram to view this post
VIEW IN TELEGRAM