Введение в искусственный интеллект
331 subscribers
63 photos
2 videos
170 links
Просто об искусственном интеллекте и его возможностях. Помогу разобраться в базовых понятиях и создать собственную нейросеть. Рассказываю, что у ИИ под кожей.
Елена Михалькова
Download Telegram
Новые имена: Илья Суцкевер

В этом месяце несколько постов я решила посвятить персоналиям в ИИ. Вчера в передаче на канале 2х2 услышала, что, благодаря Интернету и вообще быстрому обмену информацией, в 21 в. ностальгия и ретроволны случаются чаще, чем в 20-м. В доказательство авторы привели растущее число ремейков. А я вот все чаще думаю, что, если раньше ученых и изобретателей, которые прославились на весь мир, были единицы, то сегодня слава - это что-то вроде вспышки, которая у некоторых бывает раз в жизни. Например, имена нобелевских лауреатов - это уже не то, что все знают, а задачка на эрудицию для знатоков, играющих в "Что? Где? Когда?". А современные крупные ученые - это лидеры мнений, герои новостей, которые постоянно сменяются.
Есть такой мемный диалог:
- How old were you when you learned that..?
- Today years old.
- Сколько вам было лет, когда вы узнали, что..?
- Да вот только что буквально узнал(-а).

18 ноября 2023 я узнала, что компанию OpenAI в 2015 г. основал уроженец Нижнего Новгорода Илья Суцкевер - вместе с еще десятком людей, среди которых были Илон Маск (про него я знала) и Сэм Альтман (а про него тоже не знала; кстати, авторы Википедии считают, что он Олтман). В 90-е он вместе с родителями переехал в Израиль, в 2000-е - в Канаду. В Университете Торонто его научруком был Джеффри Хинтон, “один из основателей глубокого обучения”. В 2010-х создал свою компанию, которую потом перекупили в Google. А уже из Google попал в команду основателей OpenAI. Сейчас ему примерно 37, на два года младше меня. Судя по фоткам, в более юном возрасте Илья Ефимович был довольно волосат 😁
Что же случилось 18.11.2023? Уроженец Нижнего Новгорода Илья Ефимович Суцкевер уволил своего коллегу и со-основателя OpenAI Сэма Альтмана (a.k.a. Олтмана) за то, что… И вот тут версии разнятся. Одни говорят, что Суцкевер и другие топы видели для компании более научное будущее. А Альтман настаивал на коммерческом. Вторая версия: Альтман и Ко. стоят на грани изобретения AGI (ИИ, равного человеческому) и даже, возможно, ASI, суперинтеллекта, который может быть непредсказуемо опасным, если его использовать во зло.
Ну, не то чтобы уволил… Он был тем, кто позвонил и сообщил решение борда (совета директоров). Потом, конечно, часть сотрудников OpenAI ушла за Альтманом, историю откатили назад и всех приняли обратно в компанию. Вполне возможно, этому сюжету Голливуд посвятит фильм. Что-то вроде ремейка “Социальной сети”.
Итак, какую мораль можно извлечь из этой биографии? Или, как стать героем первой полосы или голливудского фильма?
1⃣ Получить высшее в хорошем сильном вузе. Да, есть исключения вроде Стива Джобса - он всего лишь рос в Кремниевой долине и не закончил университет Лиги плюща.
2⃣ Быть учеником сильного учителя - этот нарратив будет жить вечно.
3⃣ Верить в силу инноваций. В 2013 г., когда Суцкевер основал DNNresearch Inc., эта тема еще только становилась хайповой.
4⃣ Сделать что-то такое громкое, но очень таинственное, и хранить секрет с очень угрюмым лицом. Так все-таки создали они там ASI или нет?
Хотя эти секреты, скорее всего, просто ошибка выжившего. Хотите, чтобы про вас снял кино Голливуд? Не ждите чуда, снимайте сами. Завтра мы уже и не вспомним, кто такой Илья Суцкевер. Может, и Голливуд не вспомнит.

#эссеиистика
👍4
Вот что время делает с директорами OpenAI. Про Сэма Альтмана еще одна новость недавно была. Но это вы уж сами погуглите 😁
🤣4😱1
Старые имена: Ада Лавлейс

Интересный факт: слово “ловелас” по происхождению аналогично “казанова” - это фамилия человека, прославившегося своими любовными похождениями. Правда, в отличие от Джакомо Казановы сэр Роберт Ловелас был персонажем романа “Кларисса” (18 в.), а не исторической личностью. По-английски его фамилия звучит Лавлейс (Lovelace), и эта фамилия вполне себе реальная, а не выдуманная.
Продолжаю тему ловеласов. В начале 19 века в Англии жил вполне себе реальный похититель женских сердец поэт Джордж Гордон Байрон. Кстати, это время считается довольно свободным в истории чопорной Англии. Например, светские девушки стриглись под мальчика и ходили на свидания. А жена Байрона вообще с ним развелась, т.к., во-первых, надоел и, во-вторых, он не нравился ее маме.
После эпохи разгуляя наступила эпоха королевы Виктории (Викторианская эпоха), которая вернула дворянству и буржуазии христианскую мораль и строгие нормы этикета. Августа Ада Байрон, дочь поэта Байрона, воспитывалась в очень строгих условиях - ей не особо разрешали находиться в обществе и еще она много болела. Зато увлекалась математикой и другими науками. Когда ее в 17 лет представили ко двору, она познакомилась с Чарльзом Беббиджем, математиком, который проектировал разные вычислительные машины и создал прообраз ЭВМ (правда, только в чертежах).
Чтобы не думать о деньгах и замужестве, в возрасте 20 лет Ада вышла замуж за Уильяма Кинга, который вскоре унаследовал титул лорда Лавлейса, и родила троих детей, что не помешало ей делать научную карьеру (вот я аналогично: в первом декрете защитила кандидатскую диссертацию по лингвистике, во втором - магистерскую по информатике, а в третьем издала первую статью за рубежом; потому что, когда из тебя вылазит другой человек, то какое-то время тебя все жалеют и стараются беспокоить как можно меньше - а для науки тишина и спокойствие, по-моему, главное). Апогеем этой карьеры считается создание первой в мире компьютерной программы, которая, как предполагала Ада, должна быть запущена на вычислительной машине Чарльза Беббиджа. Программа (алгоритм) вычисляла числа Бернулли и была комментарием к переводу другого текста. Также Ада впервые ввела понятия “цикл” и “рабочая ячейка”.
К сожалению, Ада Лавлейс прожила всего 36 лет. На мой взгляд, ее история - это пример того, как можно быть пионером в науке и инженерии, будучи дочерью поэта, “варя борщи” и только воображая, каким будет первый компьютер через примерно 100 лет. Да, были смягчающие факторы. Например, ее мама наняла для дочери очень хороших учителей, сама любила математику и поощряла увлечения наукой. При дворе Ада познакомилась со многими выдающимися людьми, помимо Бэббиджа. В богатой семье Лавлейсов за детьми помогали ухаживать няни, а борщ варила кухарка. Но Ада для ее времени такая одна. Значит, не так уж и легко было совмещать даже богатым леди. И она смогла найти свое призвание и выразить себя. В общем, стереотипы и страх быть непринятым (особенно в среде высоколобых айтишников) - это, конечно, сильно демотивирующие факторы. Но если бы все в жизни давалось легко, то мы бы ничего высоко и не ценили. Так что не сдавайтесь, если только начинаете путь в айти!

#эссеиистика
11👍1
Как работает word2vec

Возвращаюсь к вопросу про эмбеддинги и word2vec, который, как оказалось, не достаточно понимаю сама, чтобы объяснить простыми словами. А про word2vec (ворд-ту-век) надо знать любому уважающему себя компьютерному лингвисту. Иначе его не примут в комьюнити и зачислят в ведущие аналитики данных в каком-нибудь “Строительном дворе”. Это я так намекаю, что в ИТ есть свои сообщества, которые свысока смотрят на другие сообщества. На меня ведущие аналитики смотрят свысока, если что. 😁
В этот раз я решила снова сделать экскурс в историю.
2013 год выдался довольно продуктивным для Томаша Миколова, который недавно из Microsoft Research перешел в Google. В продолжение своей докторской диссертации “Statistical Language Models Based on Neural Networks”, которую в 2012 г. защитил в Техническом университете Брно (Чехия), он выпустил 39 (если считать по Google Scholar) статей и препринтов на тему репрезентаций значений слов. 39 - вот это самопродвижение! Среди этого калейдоскопа, конечно, есть и проходные работы, но есть и те, которые заложили основы дистрибутивной семантики.
Начну (издалека 🙂) с того, что в докторской диссертации Миколова самой важной для его концепции работой можно считать статью исследователей из Университета Монреаля (Канада) “A Neural Probabilistic Language Model”, вышедшую в 2003 году. Коллектив авторов, включая Йошуа Бенджио (Yoshua Bengio), который стоит первым в списке авторов и, судя по другим его публикациям, внес наиболее значимый вклад, изложили концепцию “distributed representation for words” - распределенных репрезентаций слов. Суть ее заключалась в том, чтобы у семантически схожих слов были схожие вектора (“similar” words are expected to have a similar feature vector). Например, у собаки и пса вектора были бы более похожими, чем у собаки и кота. Статья эта вышла в знаменитом опенсурсном и бесплатном онлайн-журнале “Journal of Machine Learning Research”. Недостаток этой статьи для именно лингвистов заключался в том, что совершенно непонятно было, как использовать это на практике. В качестве результата авторы представили данные по перплексности (perplexity) модели, то есть ее способности успешно догадываться, какое слово было пропущено в контексте. А в те годы еще никто толком и не понимал, зачем нужна эта ваша перплексность. Но все чуяли грядущие перемены.
И вот, спустя 10 лет, в 2013 году на воркшопе с нечитабельным названием ICLR (International Conference on Learning Representations), который на тот момент проводился только второй раз, состоялся доклад Миколова "Эффективная оценка репрезентаций слов в векторном пространстве" (Efficient Estimation of Word Representations in Vector Space). В статье по итогам воркшопа прозвучала вот такая фраза: вектор слова “король” минус вектор слова “человек” плюс вектор слова “женщина” дает вектор, наиболее близким к которому является вектор слова “королева”. После этого мир не был прежним. Машина дистрибутивной семантики запустилась на полную мощь, и мы с вами имеем переводчики, которые переводят наравне с человеком, и чат-боты, которые ошибаются в диагнозе только в 10% случаев. И в этой же статье была ссылка на программу, которая называется word2vec (написана на языке программирования C) и позволяет обучать модели и рассчитывать семантические вектора слов.

Так как же работает word2vec?
Собираем корпус текстов.
Делим корпус на пары слов, которые стоят близко друг к другу.
Левое слово в паре это наш икс, по нему мы будем предсказывать правое слово.
Берем неглубокую (shallow) нейросеть, которая учится предсказывать правое слово по левому.
Берем полученные веса (коэффициенты) нейронки - это наша модель и одновременно те самые вектора, которые будут стоять близко в многомерном пространстве, если слова, похожи семантически.

А тема следующего поста: как сделать то же самое с документами, или как продолжилась карьера Томаша Миколова.

#эссеиистика
👍4🗿3
Интересный факт: при подаче статьи на ICLR Миколов и Ко. получили очень негативные отзывы, но статья все равно прошла. Видимо, воркшоп, который шел только второй год, был такой маленький, что туда приняли почти что всех. Отзывы рецензентов на статью Миколова можно почитать вот здесь.
🗿21
Как работает doc2vec
Этот пост будет непонятно читать, если не знаете, что такое вектор и word2vec. Прочитать про них можно у меня вот тут и тут.

Вектор отдельного слова в алгоритме word2vec имеет одинаковую длину с векторами всех других слов. Поэтому кладем их, как ирисы Фишера, у которых по четыре параметра, в машинный классификатор, запускаем и наблюдаем магию. Но что делать, если ваша задача требует векторизовать целый текст? Тексты-то бывают разной длины. Положим, у вас есть две тысячи твитов, и вы хотите поделить их на негативные и позитивные.
Решение “в лоб” (brute force, "брут форс", грубой силой) это сшить вектора каждого слова в тексте друг с другом в один длинный вектор. Но тогда длина итогового вектора для каждого текста будет зависеть от количества слов в этом тексте. То есть вектора текстов будут иметь разную длину, а машинлернинг классифаер требует одинаковую.
Есть такой вариант решения проблемы: padding (паддинг). Добавляем в вектора рад чисел таким образом, чтобы вектора стали одинаковой длины. Самый простой вариант паддинга: возьмем длину самого длинного вектора текста, и к векторам всех остальных текстов с конца добавим нули, чтобы их длины сравнялись. Получится что-то вроде:
👉 Вектор самого длинного текста: [1 2 3 3 2 1 2 3 1]
🤜 Вектор текста покороче: [1 3 2 2 3 1 0 0 0]. Последние три нуля - это паддинги.
Минус такого метода в том, что паддинги никакой информации о тексте не несут, а алгоритм будет придавать важность тому, какое слово оказалось на какой позиции в тексте. В русском языке с его гибким порядком слов на разных местах в предложении могут оказаться любые части речи и члены предложения.
Другой вариант “в лоб”: сложить вектора всех слов в тексте. Например, для текста из трех слов с векторами [1 2 3], [3 2 1], [2 3 1] результатом будет вектор [6 7 5]. Еще можно взять среднее от суммы. Тогда получится [2 2.3 1.6]. При таком подходе теряется уникальное значение каждого слова. Вот положим пусть самое первое число в векторе выражает что-то вроде “цвет”. Пусть в районе 0 будет “зеленый”, а в районе 3 “красный”. Их сумма (0+3=3) даст нам снова “красный”, а среднее (3/2=1.5) вообще какой-то случайный цвет, оказавшийся в этом диапазоне, например, “оранжевый”. Тут надежда только на те эмбеддинги, у которых чем выше число, тем сильнее проявлена какая-то семантика. К сожалению, вытянуть семантику из эмбеддинга невозможно. Что стоит за числами в матрице word2vec вычислить невозможно. Хотя есть такое направление исследований, и оно делает относительные успехи. Но это тема отдельного поста.
А можно (ух ты, я подобралась к теме поста!) взять прям сам word2vec и модифицировать его так, чтобы он создал вектор целого текста длиною с вектор слова. Как это сделать? Напоминаю, что в word2vec используются пары слов: по левому предсказываем правое. Во время предсказания в нейронной сети уточняются коэффициенты логистической регрессии. Вместе эти коэффициенты образуют матрицу эмбеддингов. Так вот, берем создаем вектор текста с какими-то случайными коэффициентами. А теперь по всему тексту пытаемся предсказать каждое слово, которое в него входит. При этом используем word2vec эмбеддинг этого слова. Т.е. при помощи вектора каждого слова уточняем коэффициенты в векторе всего текста. Кстати, эмбеддинг текста можно не привязывать по длине к эмбеддингам слов.
Когда Томаш Миколов представил миру word2vec, он довольно сразу сообщил о намерении создать doc2vec. Статья вышла по итогам Международной конференции по машинному обучению (ICML - еще одна малочитаемая аббревиатура). Первый автор в статье - вьетнамец Куок Ли. Как-нибудь напишу о нем отдельно.
Кстати, подача статей на ICML-2024 открыта.

#эссеиистика #база
🔥2
Биг Брозер Системы рекомендации ар вотчинг ю

Однажды одна женщина начала получать в одной запрещенной соцсети очень странную рекламу: витамины для беременных, товары для новорожденных и игрушки. Оказалось, она забыла зайти в приложение для отслеживания цикла и отметиться там. Приложение решило, что она беременна, и.. отослало эту инфу в соцсеть, которая закидала ее соответствующей рекламой. Случилось это в ноябре 2019 г.
В другой запрещенной соцсети, которая публикует короткие посты, по этому поводу разгорелся скандал. Где в лицензионном соглашении мы разрешаем приложениям собирать и распространять наши персональные данные? Никто же соглашения не читает! Да их и не возможно читать - они слишком длинные! А если я не на все согласна, то персональные условия я ведь все равно не получу! Придется отказаться от приложения? А если приложение будет собирать данные втихаря? В общем началась большая общественная дискуссия. В 2021 г. в iOS 14.5 появилась фича: можно попросить приложение не отслеживать ваши действия. Т.е. Apple по вашему желанию блокирует запросы от приложения о вашей активности в устройстве. Еще вы, наверно, замечали, как при установке приложений появляются сообщения со списком данных на устройстве, к которым приложение просит доступ - чтобы по лицензионному соглашению не шерудить. И все эти предосторожности не только, чтобы защититься от хацкеров и спецслужб, а еще и скрыться от назойливых систем рекомендации, для которых наше внимание - это лакомый кусочек.
Вот ведь как работает Интернет-маркетинг.. Сначала никому не известный блогер (например я) или предприниматель создает блог или сайт или еще что-нибудь и выкладывает контент. Потом он с грустью обнаруживает, что в Интернете уже лежит слишком много контента, чтобы его кто-то почитал или посмотрел. Зовем одноклассников, одногруппников, семью, друзей, коллег, кота, набираем немного просмотров. Опять втухли. Распечатываем листовки, вешаем объявление в подъезде, скидываем ссылку в чат “Дом обороны: объявления”. Наконец, когда фантазия исчерпается, можно обратиться к ним - скучным, но великим инструментам рекомендации. Они сами, возможно, бесплатно обегут социальные сети в поисках желаемой аудитории. Они предложат вашу рекламу потенциальному покупателю. Выберут вам ролик для просмотра в Ютубе (ура, Ютуб можно называть!), когда вы на платформу зашли, а в поисковую строку ничего не вбили. А если вы начинающий ютубер, то они просто так предложат ваш видос паре сотен случайных людей, чтобы дать вам шанс прославиться.
Как они работают? В основном на ИИ. Вот несколько базовых принципов.
Коллаборативная фильтрация: алгоритм ищет группы людей с похожими интересами (у кого-то кулинария, а у кого-то футбол).
Демографическая фильтрация: по профилю или каким-то другим персональным данным (пол, возраст и т.п.) алгоритм догадывается, что этому человеку интересно (семилетки, например, очень любят видео про Хаги-Ваги и аниматроников).
В анализе социальных сетей строится граф (диаграмма из точек, соединенных линиями), в котором алгоритм может определить группы людей, объединенные, например, локацией (все работают там-то или учатся там-то).
Фольксономия: сами пользователи ставят тэги, оставляют отзывы, геометки и прочую маркировку, которая позволяет сгруппировать товары, контент в комбинацию.

Системы рекомендации вездесущи. Некоторые считают, что они знают о нас больше, чем мы сами. На конференции в НИУ ВШЭ в декабре я узнала, что, благодаря изменениям в Федеральном законе “Об информации, информационных технологиях и о защите информации” (№ 408-ФЗ от 31.07.2023), теперь вместе с сообщением о куках Ozon и иже с ним предупреждают еще и о том, что используют рекомендательные технологии.

#эссеиистика
👍8
Семилетки прочитали мой предыдущий пост и сообщили, что Хаги-ваги и аниматроники уже не в моде. Сейчас у них популярны Скибиди-туалеты (вот недавно появился Астра-туалет, который по прогнозам может победить всех трёх Титанов 🥴), а также Терка (причем она уже года три как держится в трендах). Потерянное поколение 😏
😁11
Трансформеры уже здесь
Чето я всю рабочую неделю делала всякую bureaucracy и потом chill, так что за выхи выложу аж целых три поста. А в понедельник будет объявление о новых активностях (интенсивы и не только) на ближайший семестр. А теперь о…

Вот ведь что такое языковая модель?.. ChatGPT, например, это большая языковая модель плюс функционал чат-бота плюс интерфейс приложения. И ещё есть API, для разработчиков: чтобы без интерфейса обмениваться сообщениями с моделью. Чат-бот - это рамка диалога с пользователем. Она обеспечивает интуитивно понятный формат общения. Например, по ней мы сразу понимаем, что через этого бота можно заказать пиццу, а в этом боте можно вырастить собственную капибару. Интерфейс и API нужны как медиум, форма обмена сообщениями. Остаётся языковая модель.
Так что такое языковая модель? Это программа, которая по введённой строке догадывается, что должно быть дальше. Если я скажу, что люблю макароны с.. и тут резко прервусь, то, скорее всего, вы подумаете: “котлетой”, “курицей”, “сосиской” (а я то думала “пюрешкой” 🍲). Или если спросить человека, сколько сейчас времени, то он ответит что-то типичное в формате “без пятнадцати три”.
Как научить языковую модель предсказывать следующее слово? Кто про эмбеддинги читал, то уже, наверно, предугадал, что можно поступить похожим образом, как в word2vec. Берём корпус, разбираем на пары слов и учим нейросеть предсказывать правое слово по левому. Получилось, нам не нужно даже веса из модели (эмбеддинги) вытаскивать. Есть и другой более простой вариант - цепи Маркова. Берём из корпуса слова по отдельности, а также сочетания из двух и трёх слов подряд (это наши иксы) и берём следующее слово, которое идёт после этих слов и сочетаний (игреки). А затем просто рассчитываем, какой игрек наиболее часто встречается после каждого икса. Так и будет рассчитывать модель свой ответ на наш запрос - будет искать наиболее частое слово, которое встретилось в корпусе, после тех, что она получила в нашем запросе. Причем учитывать она будет максимум три последних слова, если такое сочетание есть среди ее иксов.
Минус такого подхода заключается в том, что в речи мы учитываем гораздо больше параметров, чем последние несколько слов.
Как сделать языковую модель более умной? Во-первых, конечно, пусть она не только три слова до заданного помнит. Пусть помнит много всего и до, и после. Во-вторых, пусть она пропускает какие-то слова, потому что речь варьируется. Важное для понимания слово может стоять где-то недалеко в контексте, например после стоп-слова, знака препинания, междометия типа “эээ”, “аммм”. Трансформер - эта такая архитектура нейронной сети, которая оценивает важность сочетаний в более широком контексте, с пропусками. Для этого в ней есть механизм под названием “внимание” (attention, этЕншн).
Языковые модели на цепях Маркова или word2vec’ах не требуют больших ресурсов. А вот трансформерам, чтобы учесть очень много сочетаний, нужны большие мощности. Обучить трансформер в домашних условиях не получится - требуется много видеокартов (примерно как в криптомайнинге). Поэтому такие модели называют большими(-пребольшими).

#база
👍5
От коллеги пришла предложка: это залипательная визуализация структуры большой языковой модели. Жмякайте "пробел" (синяя клавиша внизу страницы) и наблюдайте магию современной инженерной мысли.
LLM Visualization
https://bbycroft.net/llm
🔥5
Новые имена: Татьяна Шаврина
Вот, собсна, ее блог. Эй, стойте, не жмякайте! Сначала прочитайте мой пост 😁

Итак, Татьяну я лично не встречала (только по почте переписывалась), но знаю как очень активного компьютерного лингвиста с массой крутых и, что важнее, реализованных проектов. Ее история про то, что мы все тоже можем, если захотим. И про то, что мы все тоже можем участвовать в продолжениях этих проектов.
В первый раз я о Татьяне и ее проектах прочитала в блоге на vc.ru. Они с командой из SberDevices создали GPT-3 для русского языка. Это было важным событием, т.к. ещё и полгода не прошло с публикации статьи о том, в чем преимущество и как устроено новое поколение языковых моделей GPT (в ChatGPT, вроде бы, используют GPT-3.5). Судя по комментариям к посту, первая версия была не очень понятливая. Но, учитывая, что аналогов не было, а в научных статьях всегда все излагается довольно путано, это было настоящее событие. Модель доработали. Неслучайно, Сбер - один из самых ИИ-продвинутых российских бизнесов.
В этом же посте упоминается Russian SuperGLUE - ещё один проект Татьяны с ее командой (которая, кстати, называлась AGI NLP; AGI - как Artificial General Intelligence, интеллект, который равен человеческому). А вот пост, анонсировавший Russian SuperGLUE. Кстати, зацените команду на фото. Половина - девчонки. Это прям редкость для подобных проектов. GLUE расшифровывается как General Language Understanding Evaluation. Это коллекция задач на понимание естественного языка, например русского, которые должны решаться при помощи одной и той же программы. То есть разработчику нужно создать, например, языковую модель, которая и на вопросы отвечает, и даёт определение слову по контексту, и делает логический вывод, и ещё несколько разных задач. Коллекцию также называют бенчмарк. Ее цель - выявить, на что уже сейчас способны технологии. В ещё одном бенчмарке, который делала Татьяна, TAPE, есть и предложенная мной задача: автоматический ответ на вопросы интеллектуальных викторин.
Ещё немного о проектах есть вот в этом посте Татьяны.
В общем я это к чему. Участвовать в покорении бенчмарков, тренировать языковые модели, создавать собственные датасеты и задачи вполне реально и без мощностей Сбера. У меня тоже есть вот всяких датасетов - заходите. Может, вам что-то покажется интересным для ресеча - обращайтесь, проконсультирую. А можем и курсовую написать или диплом.

#эссеиистика
3
Старые имена: Грейс Хоппер

Вот ведь что такое “компилятор”?.. До 1952 года программы для компьютеров писали только на машинном коде. Они состояли из таблиц с символами, записанных на перфокарты (например, такое: 18B2:0100 6A 00 68 4B 01 66 83 7E-E0 00 74 05 B8 4C 01 EB). Понять, что там написано, можно было только разобравшись с бинарным кодом и выучив наизусть довольно много инструкций. (Если хотите это сделать сами, то мне понравился вот этот древний тьюториал по машинному коду.) Грейс Хоппер, сотрудница лаборатории в компании “Eckert-Mauchly Computer Corporation”, упростила свою работу с программами тем, что сначала на машинном коде создала несколько базовых программ, например возведение числа в степень, а потом придумала для каждой программы интуитивно понятное название и уже его использовала для более быстрой и компактной записи кода. Так появилась программа-компилятор, которая переводит скрипты (тексты программ) с языка программирования верхнего уровня (где инструкции более-менее интуитивно понятны) в машинный код. И чуть позже на основе этой идеи возник высокоуровневый язык COBOL. У Гугла был дудл на эту тему - так я, собственно, и узнала про Грейс Хоппер. И примерно тут же узнала, что это она изобрела термин “баг” (bug - жук) и “дебаггинг” (устранение ошибок в коде). А первый баг был молью, которая прилипла на перфокарту.
Про Грейс Хоппер много написано и без меня. Мне понравились изложения ее биографии тут и тут. Она была дипломированным математиком. После развода и с началом Второй мировой решила пойти во флот. Ее направили на работу в лабораторию. Сменив за жизнь несколько лабораторий, она дослужилась до чина контр-адмирала младшего ранга. Участвовала даже в Манхэттенском проекте. (Кто тут еще не смотрел “Оппенгеймер”? Бегом искать на лордфилмз. Только не устанавливайте один-икс-бет - это ловушка 🥴)
В общем есть такие истории, про которые думаешь, “Это что, и вправду так было?”. У Грейс Хоппер даже прозвище есть: Amazing Grace. С одной стороны, это слова из христианского гимна. Переводится как “О, благодать”. С другой, amazing означает “удивительная, невероятная”. Таким же открытием для меня когда-то стала история Маргарет Хамильтон. Это математик и программист, которая возглавляла команду, написавшую код для американской миссии по высадке на Луну. То есть буквально на ее (с ее командой) коде летали все эти конструкции, в которых сидели астронавты. Ну и еще одна история, удивившая меня не меньше, это фильм “Скрытые фигуры” про трех афроамериканок, которые реально работали в NASA в 1960-е на значимых должностях. Правда, согласно Википедии, тема расовой сегрегации в фильме была намеренно усилена. Но факты о должностях и проектах - подлинные.
В общем, как много в мире удивительного. Продолжая тему дневного поста: как сделать классный проект по ИИ, даже если ты вообще не выглядишь как типичный айтишник? Рецепт: берешь и делаешь, параллельно получая (само-)образование по айти.

#эссеиистика #чепосмотреть
🫡5
Уважаемые подписчики! Итак, что я планирую на новый семестр.

1⃣ Продолжим интенсивиться по вопросам ИИ.
2⃣ Мы со Славой Косовичем из Smart Games пишем подкаст про ИИ в интеллектуальном спорте. Будет визуально 👀 и аудиально 🎉
3⃣ Слышали ли вы про Open Data Science? Это комьюнити и полностью бесплатная платформа для образования, соревнований и проектов. Попробую открыть хаб в Тюмени. Are you with me?
4⃣ Пора пробудить Кракена провести новый дататон в ТюмГУ - соревнование по анализу данных. О первом можно прочитать здесь.

И да пребудет с нами Скайнет! 🧑‍💻🦾
👍5🥰1👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
💘4
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥3
Ну... про серию подкастов я не уверена, но один будет точно 😎
👍1🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥2
Вот как раз слои текста мы и будем разбирать. Это, кстати, одно из направлений ИИ - вытаскивать логику, которая привела к выдаче конкретного ответа.
😱1