Как стать автором
Обновить
31
8.8
Кирилл Белов @KirillBelovTest

Инженер по автоматизации тестирования

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

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

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

Я главред. Читаю и редактирую много коммерческих текстов. И заметила за собой интересный паттерн восприятия. Текст, который сдают в «канцелярском» виде — Times New Roman Justified — я автоматически считаю скучным. Поймала себя на этом дважды в течение пары дней и поняла, что с этим нужно что-то делать.

Как минимум, я начала такие тексты «оживлять» (присваивать свои стили в гуглодоках) и перечитывать более внимательно. Любой текст имеет право на презумпцию нескучности)) Но пойдем издалека.

Узнать, при чем тут тонкая шпация
Всего голосов 40: ↑37 и ↓3+55
Комментарии80

Playwright: Поиск, фильтрация и ожидание элементов на странице

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

Друзья, приветствую! Для тех, кто не в теме, Playwright — это инструмент для автоматизации и тестирования веб-приложений, который, по моему мнению, уже обошел своего предшественника Selenium, долгое время лидировавшего в автоматизации и тестировании браузеров.

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

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

Чем мы займемся сегодня?

В рамках этой статьи мы рассмотрим основные методы для поиска, фильтрации и ожидания элементов на странице.

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

RLHF. История становления идеи — 4. HHH: helpful, honest, harmless, Instruct LLM, Constitutional AI

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

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

В первой части мы ознакомились с общим пайплайном RLHF, LLM, KL-контролем и необходимостью предобучения на пусть и грязных, но больших данных

Во второй - сравнили Offline RL и Online RL, увидели их ограничения, попробовали имитировать Online RL через self-play и непрерывную обратную связь от среды через Reward Modelling. А еще первый раз задумались о сборе непротиворечивой но достаточно полной обратной связи от человека.

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

В этой, финальной части, мы узнаем современное и будто бы общепринятое понятие и определение "согласованной модели" - HHH: helpful, honest, harmless, поиграемся с различными комбинациями RM для представления HHH моделей, а еще увидим, как обогащать и собирать обратную связь не от человека, а от LLM.

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

Что почитать начинающим разработчикам: подборка книг по JavaScript

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

Привет, Хабр! Я Саша Пиманов, ведущий iOS-разработчик в МТС Диджитал. Сегодня хочу поделиться подборкой книг для кодеров, которые только начинают свой путь в ИТ-отрасли. Если у вас есть любимые книги по JS, о которых я не упомянул, пишите о них в комментариях. Возможно, заберу их в следующий пост. Ну, поехали!

Читать далее
Всего голосов 8: ↑5 и ↓3+6
Комментарии11

Нейросети на практике

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

Последние пару лет в дизайн-среде (и не только) многие очень сильно тревожились из-за того, что искусственный интеллект оставит всех дизайнеров без работы. Может, когда‑нибудь нейросети и превратятся в мировое зло, но пока они облегчают нашу жизнь. В условиях постоянного потока задач и сжатых сроков ИИ — отличный помощник для повышения эффективности команды.

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

Playwright: Лучшая альтернатива Selenium. Первое знакомство

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

Друзья, рад представить вам свою новую статью, посвященную Playwright — мощному инструменту для автоматизации браузера и тестирования. Этот фреймворк уже превзошел Selenium по многим параметрам и продолжает набирать популярность. В статье я подробно рассказываю о его преимуществах и особенностях.

Материал станет первой частью нового цикла. Если тема вам интересна, с удовольствием продолжу делиться своими знаниями о Playwright.

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

Использование ответов OpenAI API в формате JSON: Введение

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

Тема использования JSON в ответах OpenAI API звучала в анонсах примерно год назад и до некоторой степени описана в документации. В частности, Сэм Альтман на презентации одного из крупных релизов говорил о том что о такой фиче активно просили разработчики. Однако с тех пор мне не удалось найти целостных описаний решений, сценариев и паттернов, которые выглядели бы как практически полезные и на основе которых можно было бы быстро составить целостное понимание. Те материалы, которые попадались мне до сих пор, показались мне довольно абстрактными, недостаточно целостными, оторванными от реальности, иногда перегруженными техническими подробностями, за которыми теряется общая картина.

Вчера (6 августа) OpenAI выпустила обновление этого функционала и вместе с ним заметно обновила и дополнила документацию в этой части. С одной стороны, в новой версии документации стало больше конкретных и наглядных примеров. С другой, - в дополнение к понятию Function calling добавилось еще новое понятие Structured Outputs, которое для начинающего пользователя на первых шагах может усложнить понимание.

В этой статье я хотел на небольшом примере дать краткий поверхностный обзор того как, на мой взгляд, можно задействовать JSON-ответы для конкретной задачи. Сразу скажу, что мой пример оказался крайне примитивным (чуть сложнее чем "Hello, World!"). Я старался достичь наглядности за счет демонстрации всего цикла от идеи "продукта", до его рабочего прототипа. Свою задачу я реализовал в трех вариантах (по мере возрастания сложности): "Чат без Function calling", "Чат с Function calling" и "Assistant Function calling". Возможно, кто-то найдет для себя в этом что-то полезное.

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

Как оптимизировать аккумуляторную батарею

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

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

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

Что вы в этой ситуации сделаете? Как вы оптимизируете батареи? Это же чёрный магический ящик, не так ли? Не так. Используйте симуляцию.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+56
Комментарии3

Что такое Python и с чем его едят

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

Поговорим о том кто такие Python-разработчики, чем они занимаются и как ими вообще стать? В этой статье будет информация о...

Изменить своё будущее
Всего голосов 28: ↑14 и ↓140
Комментарии18

Эффективные запросы к ChatGPT и подобным моделям: Полное руководство по идеальной формуле

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

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

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

Selenoid без симуляции: настройка, отладка и автоматизация на физическом Android-устройстве

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

Как развернуть Selenoid без Докера на сервере для работы с реальными устройствами, а также обеспечить полную автоматизацию при создании конфигураций для подключаемых Android девайсов через USB-порт.

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

Как я писал простой язык конфигурации и в итоге перемудрил

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

Статья о том, как я во время каникул писал-писал язык для описания конфигураций, да и переборщил с объёмом

Читать далее
Всего голосов 19: ↑16 и ↓3+23
Комментарии26

Нейросети для написания текстов: обзор и сравнение моделей

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

Как далеко продвинулся искусственный интеллект в умении создавать тексты? От имитации стиля классиков литературы до написания путеводителей по вымышленным мирам — современные нейросети демонстрируют удивительные способности к генерации текстового контента самых разных форматов.

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

Приятного прочтения(:

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

Постквантовый TLS внедряют уже сейчас

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


Квантовый компьютер, который будет решать криптографические задачи (cryptographically-relevant quantum computer или CRQC в терминологии АНБ), пока далёк от реальности. Но проблема в том, что создатели такого компьютера вряд ли сразу сообщат миру о его существовании, а могут тайно воспользоваться возможностью взлома мировой криптографической системы.

Хуже всего, что с появлением CRQC можно будет расшифровать весь зашифрованный трафик, перехваченный и сохранённый в предыдущие годы (то есть сейчас). Записью и сохранением зашифрованного трафика сейчас занимаются хостинг-провайдеры, операторы мобильной связи, интернет-провайдеры и спецслужбы (стратегия harvest now, decrypt later).
Читать дальше →
Всего голосов 11: ↑10 и ↓1+14
Комментарии6

Создание процессора с нуля для чайников

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

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

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

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

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

Учёные изобрели линзы ночного зрения

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

От вечерних поездок до навигации по дому или парку в темноте — существует так много ситуаций, когда было бы удобно использовать простую пару линз ночного зрения, и мир, выходящий за пределы человеческого оптического восприятия, мог бы быть освещён. Это зрение может стать реальностью благодаря технологическому прорыву, ультратонкой плёнки или линзы толщиной с пищевую плёнку.

Учёные из ARC Centre of Excellence for Transformative Meta-Optical Systems (TMOS) в Австралии пытались сделать ночное видение доступным и носимым, отказавшись от громоздких и дорогих гарнитур и приспособлений для линз.

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

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

Так почему же мы ещё не ходим в ночных очках? Традиционное ночное зрение включает в себя сложную систему, которая использует световые фотоны, проходящие через объектив в электронный усилитель изображения, состоящий из двух важных частей. Сначала фотокатод преобразует фотоны в электроны, которые затем попадают в микроканальную пластину, состоящую из миллионов отверстий, для массового умножения электронов. Далее электроны попадают на экран с люминофорным покрытием и «светятся» зелёным, освещая сцену, просматриваемую через систему ночного зрения.

Читать далее
Всего голосов 28: ↑24 и ↓4+32
Комментарии38

Ускорение генерации токена LLM в два раза для больших контекстов

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.5K
Помимо ChatGPT и многочисленных конкурентов в облаке с веб-мордами и/или API, существует огромная экосистема для запуска LLM на собственном железе. На Huggingface на любой бюджет найдется модель для скачивания, которая влезет в видеопамять (или в RAM, можно и на CPU запускать, если пользователь терпеливый). Вчера здесь на Хабре была очень неплохая обзорная статья.

Самые популярные open source тулы для локального запуска LLM — llama.cpp и vllm (и их многочисленные обертки). У них немного разные ниши, и дальше я буду писать о llama.cpp. Она поддерживает все возможные комбинации железа и ОС — Linux, MacOS, Windows; x86 CPU, Arm, Apple Silicon CPU & GPU, Nvidia, AMD,… Но автор и мейнтейнер — Георгий Герганов использует для разработки Mac Studio. Почему такой выбор железа?

Производительность генерации каждого токена LLM в одном потоке ограничена вычислительной мощностью в процессе построения KV-кэша (анализ промпта до генерации первого токена), и пропускной способностью памяти при генерации последующих токенов. При этом в обоих случаях очень полезно уметь быстро загружать веса из видеопамяти в ALU видеокарты (или CPU).
Читать дальше →
Всего голосов 10: ↑10 и ↓0+17
Комментарии5

Как работает блокчейн: объяснение от эксперта по ИТ Петра Емельянова

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

Блокчейну приписывают три свойства: неизменяемость, распределенность и консенсус. Разберём, что обеспечивает ему эти свойства и как работает. Объясняет эксперт по машинному обучению и AI — дотошно и подробно, заглянем под капот.

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

Новый убийца Си опроверг арифметику

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

Что Вы знаете про эзотерические языки программирования? Они кажутся вам странными? Смешными? Интересными? Этот язык не из таких – он не эзотерический. Если смех действительно продливает жизнь, то после этой статьи Вы станете бессмертным.

Продлить жизнь
Всего голосов 122: ↑87 и ↓35+70
Комментарии70

Строим свой WYSIWYG с помощью LexicalJs

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

На хабре переодически появляются статьи про библиотеки для построение своего WYSIWYG редактора. Такая потребность появилась и в моей команде - «билайн дом», для создания новостей. В этой статье взглянем на них более общим взглядом и дополнительно разберем библиотеку LexicalJs

Читать далее
Всего голосов 11: ↑8 и ↓3+12
Комментарии10

Информация

В рейтинге
772-й
Откуда
Саратов, Саратовская обл., Россия
Зарегистрирован
Активность