Forwarded from Записки C3PO
Устали от еженедельных технологических прорывов в ML? Вот вам новость тогда: сегодня министерство энергетики США должно объявить, что смогло произвести реакцию термоядерного синтеза, которая дает энергии больше, чем было на нее потрачено.
https://www.washingtonpost.com/business/2022/12/11/fusion-nuclear-energy-breakthrough/
https://www.washingtonpost.com/business/2022/12/11/fusion-nuclear-energy-breakthrough/
#python #tricks #hosyaikenazametku
Как лучше аннотировать параметр, который мог быть строкой или списком, а потом ещё добавилось условие, что он может вообще отсутствовать? Изначально он был объявлен как objects_names: Union[str, Iterable], и я думал добавить None как третью опцию в Union, просто и элегантно. Я знал, что вообще-то есть Optional для этих целей, и задумался, будет ли разница для проверщика типов, да и вообще, что лучше выбрать с точки зрения читаемости. Оказалось, что Optional[...] это технический синоним для Union[..., None], но мне понравилась идея всегда использовать Optional: "Personally, I'd stick with always using Optional[] when setting the type for a keyword argument that uses = None to set a default value, this documents the reason why None is allowed better. Moreover, it makes it easier to move the Union[...] part into a separate type alias, or to later remove the Optional[...] part if an argument becomes mandatory." А что выберете Вы?
Как лучше аннотировать параметр, который мог быть строкой или списком, а потом ещё добавилось условие, что он может вообще отсутствовать? Изначально он был объявлен как objects_names: Union[str, Iterable], и я думал добавить None как третью опцию в Union, просто и элегантно. Я знал, что вообще-то есть Optional для этих целей, и задумался, будет ли разница для проверщика типов, да и вообще, что лучше выбрать с точки зрения читаемости. Оказалось, что Optional[...] это технический синоним для Union[..., None], но мне понравилась идея всегда использовать Optional: "Personally, I'd stick with always using Optional[] when setting the type for a keyword argument that uses = None to set a default value, this documents the reason why None is allowed better. Moreover, it makes it easier to move the Union[...] part into a separate type alias, or to later remove the Optional[...] part if an argument becomes mandatory." А что выберете Вы?
#writing #reading #knowledgemanagement #businessidea #yan
Юджин Ян, дата сайентист из Амазона, ведёт крайне познавательный блог, рекомендую подписаться на его рассылку. У него лёгкий слог, и он исповедует подход "пиши, чтобы учиться". Основа этого подхода – цикл reading (consume) -> note-taking (collect) -> writing (create).
Читать он рекомендует ежедневно и в трёх категориях "тяжести" одновременно, от технической литературы до художественной. Правда, не знаю, как быть с соотношением печатных/электронных изданий. Печатных у меня очень много непрочтённых, но сложно заставить себя браться за бумажную книгу, если можно потреблять контент (пусть и полезный, вроде лекций) с ютуба. Видимо, нужно стремиться к ежедневному чтению всё же именно бумажных изданий.
Чтение без создания заметок неэффективно. Юдж использует метод Zettelkasten ("ящик заметок") и приложение Roam, когда по мере чтения создаётся множество заметок (простых полезных идей, пересказанных своими словами и снабжённых тэгами), затем периодически они линкуются и реорганизуются в ключевые статьи, представляющие собой Ваш граф знаний.
https://netology.ru/blog/04-2022-zettelkasten
https://vc.ru/u/1249281-kod-samorazvitiya/467180-zettelkasten-metod-kak-sozdat-vtoroy-mozg-ili-kak-uluchshit-pamyat-sistema-cetelkasten-obsidian-i-zettelkasten
https://www.youtube.com/watch?v=rOSZOCoqOo8&t=3s&ab_channel=ShuOmi
Возможно, следующим уровнем просветления является организация коллективного чтения таким методом "ящиков заметок" в рамках корпоративной библиотеки. Было бы интересно после прочтения книги и внесения в базу своих заметок посмотреть, какие заметки внесли твои коллеги, особенно более опытные/продвинутые, что они заметили дополнительно или, наоборот, упустили.
Также очень любопытно было бы интегрировать ящики заметок и Анки (+)
Сам я до такого уровня пока не дошёл, просто использовал сайт liblib для поиска книг по ISBN (это удобно) и добавления к ним заметок по мере прочтения. Но там нет тэгов и невозможно образовать связи.
Не знаю, есть ли в природе такое приложение с готовой обновляемой базой книг (а желательно, и статей semanticscholar, да ещё мультиязычной), возможностями "цеттелькастен" (т.е. создания и каталогизации карточек идей, желательно надиктовкой с распознаванием речи) и "анкирования" (т.е. превращения карточек идей в карточки-вопросники, которые потом будут показываться по алгоритму spaced repetition), но вот вам бизнес-идея, если готовы вкалывать и искать инвесторов, ничем не хуже этой)
Причём, 2 из 3 шагов по классификации Юджина (тэгирование и линкование карточек) могут быть автоматизированы с помощью ML (как и автоанкирование карт-связок, а возможно, и полноценных карт с помощью ChatGPT). Опять же, такое мегаприложение могло бы пользователю и рекомендации качественные дать, что читать дальше. Вопрос, много ли на планете таких ботанов, кто бы это захотел использовать )
И, наконец, писательство. Я пытаюсь сам и рекомендую всем современным специалистам пробовать писать статьи. Публиковаться можно на Хабре (русскоязычная аудитория) и Медиуме (англоязычная аудитория, денежные выплаты читаемым авторам; только не повторяйте моей ошибки, печатайтесь сразу в большом тематическом паблике, а не в своём частном – не получите просмотров). Также хорошо дублировать статьи в соцсетях для покрытия большей аудитории. Юджин советует писать статьи как раз с уже созданных вами заметок Zettelkasten, опираясь на изученные и переработанные мозгом источники. Даже если вы себя не считаете экспертом в какой-то интересной теме, всё равно стоит написать по ней статью – как показывает опыт, множеству других людей будет интересна ваша интерпретация и опыт осмысления. Чтение-заметки-написание статьи[-тестирование Анки] – это очень эффективная организация процесса познания.
Юджин Ян, дата сайентист из Амазона, ведёт крайне познавательный блог, рекомендую подписаться на его рассылку. У него лёгкий слог, и он исповедует подход "пиши, чтобы учиться". Основа этого подхода – цикл reading (consume) -> note-taking (collect) -> writing (create).
Читать он рекомендует ежедневно и в трёх категориях "тяжести" одновременно, от технической литературы до художественной. Правда, не знаю, как быть с соотношением печатных/электронных изданий. Печатных у меня очень много непрочтённых, но сложно заставить себя браться за бумажную книгу, если можно потреблять контент (пусть и полезный, вроде лекций) с ютуба. Видимо, нужно стремиться к ежедневному чтению всё же именно бумажных изданий.
Чтение без создания заметок неэффективно. Юдж использует метод Zettelkasten ("ящик заметок") и приложение Roam, когда по мере чтения создаётся множество заметок (простых полезных идей, пересказанных своими словами и снабжённых тэгами), затем периодически они линкуются и реорганизуются в ключевые статьи, представляющие собой Ваш граф знаний.
https://netology.ru/blog/04-2022-zettelkasten
https://vc.ru/u/1249281-kod-samorazvitiya/467180-zettelkasten-metod-kak-sozdat-vtoroy-mozg-ili-kak-uluchshit-pamyat-sistema-cetelkasten-obsidian-i-zettelkasten
https://www.youtube.com/watch?v=rOSZOCoqOo8&t=3s&ab_channel=ShuOmi
Возможно, следующим уровнем просветления является организация коллективного чтения таким методом "ящиков заметок" в рамках корпоративной библиотеки. Было бы интересно после прочтения книги и внесения в базу своих заметок посмотреть, какие заметки внесли твои коллеги, особенно более опытные/продвинутые, что они заметили дополнительно или, наоборот, упустили.
Также очень любопытно было бы интегрировать ящики заметок и Анки (+)
Сам я до такого уровня пока не дошёл, просто использовал сайт liblib для поиска книг по ISBN (это удобно) и добавления к ним заметок по мере прочтения. Но там нет тэгов и невозможно образовать связи.
Не знаю, есть ли в природе такое приложение с готовой обновляемой базой книг (а желательно, и статей semanticscholar, да ещё мультиязычной), возможностями "цеттелькастен" (т.е. создания и каталогизации карточек идей, желательно надиктовкой с распознаванием речи) и "анкирования" (т.е. превращения карточек идей в карточки-вопросники, которые потом будут показываться по алгоритму spaced repetition), но вот вам бизнес-идея, если готовы вкалывать и искать инвесторов, ничем не хуже этой)
Причём, 2 из 3 шагов по классификации Юджина (тэгирование и линкование карточек) могут быть автоматизированы с помощью ML (как и автоанкирование карт-связок, а возможно, и полноценных карт с помощью ChatGPT). Опять же, такое мегаприложение могло бы пользователю и рекомендации качественные дать, что читать дальше. Вопрос, много ли на планете таких ботанов, кто бы это захотел использовать )
И, наконец, писательство. Я пытаюсь сам и рекомендую всем современным специалистам пробовать писать статьи. Публиковаться можно на Хабре (русскоязычная аудитория) и Медиуме (англоязычная аудитория, денежные выплаты читаемым авторам; только не повторяйте моей ошибки, печатайтесь сразу в большом тематическом паблике, а не в своём частном – не получите просмотров). Также хорошо дублировать статьи в соцсетях для покрытия большей аудитории. Юджин советует писать статьи как раз с уже созданных вами заметок Zettelkasten, опираясь на изученные и переработанные мозгом источники. Даже если вы себя не считаете экспертом в какой-то интересной теме, всё равно стоит написать по ней статью – как показывает опыт, множеству других людей будет интересна ваша интерпретация и опыт осмысления. Чтение-заметки-написание статьи[-тестирование Анки] – это очень эффективная организация процесса познания.
eugeneyan.com
Eugene Yan
I design, build, and operate machine learning systems that serve customers at scale. I also write about data/ML systems and career.
👍4
#AI #codinginterviews #chatgpt
Нейросеть успешно проходит собеседование по программированию в Гугл, причём выдаёт разные варианты решений разной алгоритмической сложности, применяет осмысленные имена переменных, хорошо комментирует, верно указывает сложность и аргументирует выбор конкретного подхода. Надо будет самому попробовать, а то все хвалят )
https://www.youtube.com/watch?v=gOf2SQVMUL0&ab_channel=Cl%C3%A9mentMihailescu
Нейросеть успешно проходит собеседование по программированию в Гугл, причём выдаёт разные варианты решений разной алгоритмической сложности, применяет осмысленные имена переменных, хорошо комментирует, верно указывает сложность и аргументирует выбор конкретного подхода. Надо будет самому попробовать, а то все хвалят )
https://www.youtube.com/watch?v=gOf2SQVMUL0&ab_channel=Cl%C3%A9mentMihailescu
YouTube
Google Coding Interview With An Artificial Intelligence (ChatGPT)
In this video, I conduct a mock Google coding interview with an AI, ChatGPT, which was recently released by OpenAI. As a Google Software Engineer, I interviewed dozens of candidates. This is exactly the type of coding interview that you would get at Google…
🔥2
#python #chatgpt #weakai
Я старался не поддаваться хайпу и не обращать особо внимания на ChatGPT, но не вышло. Да, она не умеет считать и выдаёт порой странные факты. Но посмотрите только, что она творит в кодинге! Всё началось с задачи оптимизации поиска хэша в большом файле отсюда. Не знаю, сколько времени потратил автор на код в статье, день или несколько часов, но я "смог" воспроизвести и превзойти его результаты буквально за минуты с помощью этой нейросети. Если это не слабый ИИ, тогда что это? Пока это неидеально, конечно, и нужно задавать наводящие вопросы, а то и исправлять ошибки. Но это уже может ускорить работу программиста на порядок. А что будет через год?!
Я старался не поддаваться хайпу и не обращать особо внимания на ChatGPT, но не вышло. Да, она не умеет считать и выдаёт порой странные факты. Но посмотрите только, что она творит в кодинге! Всё началось с задачи оптимизации поиска хэша в большом файле отсюда. Не знаю, сколько времени потратил автор на код в статье, день или несколько часов, но я "смог" воспроизвести и превзойти его результаты буквально за минуты с помощью этой нейросети. Если это не слабый ИИ, тогда что это? Пока это неидеально, конечно, и нужно задавать наводящие вопросы, а то и исправлять ошибки. Но это уже может ускорить работу программиста на порядок. А что будет через год?!
🔥3😱1
Forwarded from Техножрица 👩💻👩🏫👩🔧
Очень рекомендую посмотреть обзорный доклад "10 лет новой эпохи машинного обучения" с прошедшего YaTalks. Докладчик подсвечивает ключевые моменты из истории развития ML и нейросетей за последние десять лет и делится своими мыслями на тему того, что будет дальше.
Доклад даёт хороший контекст и будет понятен в том числе и тем, кто не занимается ML профессионально.
https://youtu.be/ikhPeK33zCw?t=13782
Доклад даёт хороший контекст и будет понятен в том числе и тем, кто не занимается ML профессионально.
https://youtu.be/ikhPeK33zCw?t=13782
YouTube
YaTalks 2022. Lifestyle: Career and Development
Вызовы, с которыми мы сталкиваемся сегодня, часто не имеют отношения к технологиям. Они требуют другого опыта — прежде всего, жизненного. Профессиональные связи обрели новую ценность, а сообщество стало ещё более значимым.
Вместе со спикерами трека про жизнь…
Вместе со спикерами трека про жизнь…
👍2
Глубокие мысли, надо подумать, как AV действительно лучше встроить в FE на практике. Типа, нет test, чтобы применить AV? Создай его! )
Forwarded from Small Data Science for Russian Adventurers
#приёмы
В старом посте я описывал приём AV: решение задачи разделения обучения и теста позволяет понять
1) какие признаки стабильны,
2) как отобрать обучающую подвыборку максимально похожую на тест.
Из того, что я тогда не сказал, но это полезно:
1) логично встроить AV в процедуру отбора признаков (чтобы отбиралось не просто подпространство с высоким качеством решения, но и стабильное),
2) когда нет теста (а его на практике часто и нет) можно разбить объекты по времени (странно, но при решении прикладных задач это делают очень редко),
3) из нестабильных признаков часто получаются хорошие стабильные, причём с помощью простых приёмов (например, доход клиента делим на медианных доход в этом месяце). Поэтому AV можно встроить и в генератор признаков;)
В старом посте я описывал приём AV: решение задачи разделения обучения и теста позволяет понять
1) какие признаки стабильны,
2) как отобрать обучающую подвыборку максимально похожую на тест.
Из того, что я тогда не сказал, но это полезно:
1) логично встроить AV в процедуру отбора признаков (чтобы отбиралось не просто подпространство с высоким качеством решения, но и стабильное),
2) когда нет теста (а его на практике часто и нет) можно разбить объекты по времени (странно, но при решении прикладных задач это делают очень редко),
3) из нестабильных признаков часто получаются хорошие стабильные, причём с помощью простых приёмов (например, доход клиента делим на медианных доход в этом месяце). Поэтому AV можно встроить и в генератор признаков;)
❤1
Forwarded from Пресидский залив (Nadia ズエバ)
⚡️ open close openai расщедрились и релизнули свой трансформер для voice tech задач в opensource!
Основное — это конечно английский asr, но также и много другого, например any-to-english translation. Тут нет явного рокетсаенса, но зато есть веса, обученные на огромном датасете, которые можно скачать прямо сейчас, что как мне кажется еще лучше 😎
Почему это круто?
На мой взгляд самая интересная часть это энкодер, который можно вытащить из пайплайна и использовать как устойчивый к различным трудным данным feature extractor. Разработчики говорят, что учили модель на почти 700k данных, среди которых были очень разные примеры — и с акцентами, и с шумами, и просто музыка. Отдельная боль в ASR — это когда из бекграунд музыки распознаются рандомные словаиногда нехорошие 🙃 то есть можно дофайнтюнить энкодер, а дальше поставить что угодно — от классификатора до voice conversion.
Полная модель с декодером тоже очень интересна — особенно, если вы не делаете бенчмарк на LibriSpeech, а работаете с клиентскими данными, которые часто содержат большое число шумов, акцентов, или даже пение и музыку (откройте демку, там будет k-pop🕺🏻). Сказано, что на таких данных модель по качеству лучше на 50% — как именно подсчитали эту цифру, правда, я не нашла 💁🏻♀️
В репозитории есть несколько конфигураций модели, как это было с GPT-семейством, от tiny c 39M до large c 1550M параметров, которая вполне может подойти для дистилляцииили kaggle-соревнований.
Кроме того, судя по демо, Whisper сразу делает расстановку знаков препинания. Base (вторая по величине модель) весит всего 140 мб, так что если убрать все ненужные части (или даже декодер), останется очень приятный размер, который вполне можно использовать на разного рода девайсах. Круто, желаю openai больше таких прикладных проектов 🌚
Подробнее читать тут
#tech
Основное — это конечно английский asr, но также и много другого, например any-to-english translation. Тут нет явного рокетсаенса, но зато есть веса, обученные на огромном датасете, которые можно скачать прямо сейчас, что как мне кажется еще лучше 😎
Почему это круто?
На мой взгляд самая интересная часть это энкодер, который можно вытащить из пайплайна и использовать как устойчивый к различным трудным данным feature extractor. Разработчики говорят, что учили модель на почти 700k данных, среди которых были очень разные примеры — и с акцентами, и с шумами, и просто музыка. Отдельная боль в ASR — это когда из бекграунд музыки распознаются рандомные слова
Полная модель с декодером тоже очень интересна — особенно, если вы не делаете бенчмарк на LibriSpeech, а работаете с клиентскими данными, которые часто содержат большое число шумов, акцентов, или даже пение и музыку (откройте демку, там будет k-pop🕺🏻). Сказано, что на таких данных модель по качеству лучше на 50% — как именно подсчитали эту цифру, правда, я не нашла 💁🏻♀️
В репозитории есть несколько конфигураций модели, как это было с GPT-семейством, от tiny c 39M до large c 1550M параметров, которая вполне может подойти для дистилляции
Кроме того, судя по демо, Whisper сразу делает расстановку знаков препинания. Base (вторая по величине модель) весит всего 140 мб, так что если убрать все ненужные части (или даже декодер), останется очень приятный размер, который вполне можно использовать на разного рода девайсах. Круто, желаю openai больше таких прикладных проектов 🌚
Подробнее читать тут
#tech
❤1