Как стать автором
Обновить
18
-1
Максим @therb1

SR-Engineer

Отправить сообщение

Где изучать Javascript в 2024. Бесплатные курсы, книги и ресурсы

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров21K

Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:

1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.

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

3. Актуальные материалы: Многие бесплатные курсы по JavaScript постоянно обновляются и содержат актуальную информацию о новых технологиях и подходах к разработке.

Почему не стоит покупать курсы и тратить деньги:

1. Доступность ресурсов: В интернете существует огромное количество бесплатных ресурсов, которые позволяют изучать JavaScript на высоком уровне. Покупка курсов не всегда является необходимой.

2. Качество бесплатных курсов: Некоторые бесплатные курсы могут предоставлять высококачественное обучение, сопоставимое с платными аналогами.

3. Мотивация и самодисциплина: Самое важное при изучении языка программирования – это ваша мотивация и самодисциплина. При достаточной мотивации и усердной работе можно достичь успеха в изучении JavaScript, не тратя деньги на покупку курсов.

Таким образом, изучение JavaScript по бесплатным курсам в 2024 году имеет множество преимуществ, особенно при наличии достаточной мотивации и самодисциплины.

Список ресурсов для бесплатного изучения JS.

Читать далее
Всего голосов 28: ↑25 и ↓3+22
Комментарии9

RAG (Retrieval Augmented Generation) — простое и понятное объяснение

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров20K

Краткое и понятное описание подхода RAG (Retrieval Augmented Generation) при работе с большими языковыми моделями.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии27

Структура объекта в JavaScript движках

Время на прочтение23 мин
Количество просмотров6.6K

С точки зрения разработчика, объекты в JavaScript довольно гибкие и понятные. Мы можем добавлять, удалять и изменять свойства объекта по своему усмотрению. Однако мало кто задумывается о том, как объекты хранятся в памяти и обрабатываются JS-движками. Могут ли действия разработчика, прямо или косвенно, оказать влияние на производительность и потребление памяти? Попробуем разобраться во всем этом в этой статье.

Читать далее
Всего голосов 30: ↑30.5 и ↓-0.5+31
Комментарии1

Можно ли научить чат-бота всегда говорить правду. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.6K

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

Часть первая тут.

Как пользователи, мы хотим иметь возможность просто загрузить все нужные нам документы в RAG и пользоваться ими без дополнительных настроек. Большинство традиционных подходов RAG также используют полученные документы “как есть”, без проверок, являются ли эти документы релевантными или нет. Более того, современные методы в основном рассматривают полные документы как справочные знания, как во время поиска, так и во время использования. Но значительная часть текста в этих извлеченных документах часто не важна для генерации и только затрудняет поиск релевантной информации. А если результат работы ретривера окажется низкого качества, есть большая вероятность получить галлюцинацию в ответе.

Для решения проблемы можно двигаться в нескольких направлениях.

Читать далее
Всего голосов 5: ↑5.5 и ↓-0.5+6
Комментарии0

Как устроен RAPTOR — новый подход для RAG, который понимает контекст сразу всей книги

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров845

Помните, как на школьных уроках литературы иногда надо было развернуто ответить на вопрос о сюжетной линии героя или каком-то событии книги? Например, объяснить мотивацию и развитие Евгения Онегина. Чтобы ответить на этот вопрос на пятёрку, мало пролистать краткий пересказ романа — придётся прочитать его весь. 

Примерно для этого в 2020 году предложили RAG (retrieval-augmented generation) методы. Есть и другая мотивация для RAG — после обучения LLM на большой базе данных возникает вопрос, что делать с обновлением этой самой базы. Дообучение — не беспроигрышный вариант, так как это не всегда удобно для гигантских объемов данных. В базовом подходе RAG база знаний нарезается на небольшие куски текста, chunks, в 100-1000 слов, которые в виде эмбеддингов хранятся, как правило, в векторной БД, пока не понадобятся. Запросы пользователя дополняются найденными чанками в качестве контекста и выглядят для модели как один большой запрос. 

Так вот, большинство существующих RAG методов способны переварить только небольшое количество достаточно коротких и последовательных чанков. Это ограничивает возможность оперировать крупномасштабным контекстом. Возвращаясь к уроку литературы, если перед тем, как выдать ответ, прочитать несколько последовательных строф романа, этого явно будет недостаточно.  Недавно вышедшая Стэнфордская статья RAPTOR: Recursive Abstractive Processing for Tree-organized Retrieval призвана решить эту проблему. Основная идея заключается в том, чтобы обобщать отдельные куски большого материала, затем обобщать обобщения и так дальше.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

LOCOST и SPECTRUM, два подхода к суммаризации

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров385

2-3 абзаца — привычный размер входного текста для языковых моделей. Больше — тяжело, потому что вычислительная сложность растет квадратичным образом. Поэтому битва за удлинение контекста продолжается и постоянно возникают новые, общие или не очень, подходы. В этом обзоре мы расскажем о двух подходах, связанных с суммаризацией большого текста. Первый — LOCOST — направлен на длинные тексты (статьи и целые книги). Второй — SPECTRUM — на долгие диалоги.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Быстрый запуск pet-проекта на Python и PostgreSQL

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров6.3K

Уверен, небольшие pet-проекты полезны не только для прокачивания навыков, но и для отвлечения от рабочей рутины и - нередко - для решения небольших практических задач. 

Курс рубля, как водится, - всегда актуальная тема. И на естественное желание быть в курсе курса рубля, лично у меня, возникает такое же естественное желание реализовать pet-проект. И естественно, это нужно сделать в виде телеграм-бота. 

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

Про использование Python понятно из сабжа, ну а добиться максимально быстрого запуска нам позволят встроенные CI/CD процессы от Amvera, которые буквально из кода соберут работающий сервис. 

Детали под катом
Всего голосов 5: ↑5 и ↓0+5
Комментарии6

Микросервис на Python+ FastAPI

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров11K

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

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

В микросервисной архитектуре приложение разбивается на несколько отдельных служб, которые выполняются в отдельных процессах. Существует другая база данных для разных функций приложения, и службы взаимодействуют друг с другом с использованием HTTP, AMQP или двоичного протокола, такого как TCP, в зависимости от характера каждой службы. Межсервисное взаимодействие также может осуществляться с использованием очередей сообщений, таких как RabbitMQ , Kafka или Redis .

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии7

Фильтр Блума

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.8K



У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).

Читать дальше →
Всего голосов 38: ↑41 и ↓-3+44
Комментарии12

Кибератаки уровня «космос»: зачем хакеры взламывают спутники и к чему это приводит

Время на прочтение6 мин
Количество просмотров3.3K

Есть ли в космосе место для хакеров? Увы, где человек что-то сотворил, найдутся и те, кто захочет созданное разрушить или обратить себе на пользу. Единственного в истории подозреваемого в хакерстве на орбите — астронавта Энн Маклейн — суд оправдал. Зато соседи по планете неоднократно наносили недружественный визит космической инфраструктуре.

Меня зовут Денис Макрушин, я — технический директор компании МТС RED. Специально к Дню космонавтики расскажу, как злоумышленники нарушают киберустойчивость спутниковой инфраструктуры и как им можно противостоять.

Читать далее
Всего голосов 11: ↑12.5 и ↓-1.5+14
Комментарии6

Числа и байты: как работает память в Linux?

Уровень сложностиСложный
Время на прочтение27 мин
Количество просмотров10K
image

Часть первая: физическая память


При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

Также память включает в себя оперативное запоминающее устройство (ОЗУ) или RAM, где можно записывать и считывать информацию. Существует статическая ОЗУ (SRAM) и динамическая ОЗУ (DRAM), различающиеся в том, как хранится информация. В SRAM информация сохраняется до выключения питания, в то время как в DRAM используются транзисторы и конденсаторы, что позволяет хранить данные, но требует их периодического обновления. Разные типы ОЗУ имеют свои преимущества и недостатки, и выбор зависит от конкретных потребностей.

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

Но что такое физическая память, как она работает в Linux? Что такое сегментация, утечки памяти и некие «страницы»?

Все, что вы хотели знать, но боялись спросить о памяти пингвина — читайте здесь и сейчас!
Читать дальше →
Всего голосов 24: ↑28 и ↓-4+32
Комментарии15

«Чтобы достичь индустриального уровня западных стран, нужно поставить конкретную задачу. Ее никто никому не ставит»

Уровень сложностиПростой
Время на прочтение27 мин
Количество просмотров9.8K

«Анекдот, характеризующий наш промышленный подход: если индусу поставить задачу через месяц что‑то сделать, то через месяц он принесет идиотскую программу, которая будет плохо работать. А если русскому математику поставить аналогичную задачу — через месяц сделать программу, примерно через 25 дней он пришлет сообщение, что задача поставлена неправильно и ее надо ставить совершенно по‑другому». О чем это мы? Через призму юмора и науки говорим о нейронных сетях, искусственном интеллекте, приводя лишь отрывок из нового выпуска подкаста «Синий экран смерти». В программе принял участие Владимир Львович Арлазаров — советский и российский ученый, доктор технических наук, член‑корреспондент РАН, директор по науке Smart Engines.

В ходе беседы пионер в области искусственного интеллекта в СССР и мире рассказал о работе над программой «Каисса», которая 50 лет назад победила на первом чемпионате мира среди компьютерных программ, поделился мнением о научном обмене и высказал теории о будущем искусственного интеллекта.

Читать далее
Всего голосов 27: ↑22 и ↓5+17
Комментарии9

Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля

Время на прочтение1 мин
Количество просмотров23K

Краткий обзор курса, который я недавно закончил пилить на степике. Курс хардкорный :) В нем необходимо с нуля писать алгоритмы машинного. Наверное это один из лучший способов досконально разобраться в алгоритме.

Курс бесплатный: https://stepik.org/course/68260/promo

Читать далее
Всего голосов 30: ↑30.5 и ↓-0.5+31
Комментарии11

Как я отрендерил миллион строк в React

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.2K

Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:

1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?

2. Удастся ли мне это?

Хотя я не уверен в возможности визуализировать миллиард строк в таблице, цифра в миллион кажется вполне достижимой. Узнав о таком интересном вызове, я решил заняться маленьким проектом, целью которого было отображение миллиона строк в React.

Давайте я вас подробно ознакомлю с тем, что именно произошло, как это было сделано и по каким причинам.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии7

Введение в нейросети: что, зачем и как?

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров32K

Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.

Как же нейросети рисуют картинки?
Всего голосов 58: ↑56 и ↓2+54
Комментарии25

Ускорение инференса LLM

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров6.4K

Инференсом ML-модели называют процесс её работы на конечном устройстве. Соответственно, чем больше мы разгоняем инференс, тем быстрее работает модель. Скорость может зависеть от разных условий, например, от архитектуры, которую вы выбрали для модели, или от железа, на котором работает устройство. Кроме того, проблема тяжёлого инференса остро ощущается на больших языковых моделях (LLM) так остро, как ни на каких других моделях.

Меня зовут Роман Горб, я старший ML-разработчик в команде YandexGPT. Тема инференса LLM заинтересовала меня, потому что я занимался R&D в квантовании сеток для CV-задач. Сегодня я расскажу, как безболезненно увеличить скорость инференса. Сперва разберёмся, зачем это нужно, а потом рассмотрим разные методы ускорения и фреймворки, которые могут в этом помочь.

Ускоряемся
Всего голосов 31: ↑30.5 и ↓0.5+30
Комментарии8

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

Уровень сложностиСложный
Время на прочтение1 мин
Количество просмотров21K

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

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии21

Как устроено пространство, в котором думают языковые модели?

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров16K

С момента выхода первой статьи «Attention is All You Need» я с жадностью и любопытством, присущими любому исследователю, пытаюсь углубиться во все особенности и свойства моделей на базе архитектуры трансформер. Но, если честно, я до сих пор не понимаю, как они работают и почему так хорошо обучаются. Очень хочу разобраться, в чём же причина такой эффективности этих моделей, и есть ли предел их возможностей?

Такому изучению трансформеров «под микроскопом» и посвящена наша научная работа, только что представленная на конференции EACL 2024, которая проходила на Мальте — «The Shape of Learning: Anisotropy and Intrinsic Dimensions in Transformer-Based Models». В этой работе мы сфокусировались на наблюдении за пространством эмбеддингов (активаций) на промежуточных слоях по мере обучения больших и маленьких языковых моделей (LM).

Читать далее
Всего голосов 51: ↑52 и ↓-1+53
Комментарии18

Модули multiprocessing и threading в Python

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.2K

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

Читать далее
Всего голосов 1: ↑2 и ↓-1+3
Комментарии2

Лучшие бесплатные курсы и ресурсы для изучения машинного обучения

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров16K

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

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

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

Читать
Всего голосов 24: ↑19 и ↓5+14
Комментарии7
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность