Solid91

Solid91

Я дата-саентист, аналитик, разработчик, автор и преподаватель IT-курсов. Помогаю людям освоить data science, аналитику, разработку на Python, статистику, SQL, базы данных. На регулярной основе сотрудничаю с такими образовательными площадками, как Нетология, Яндекс Практикум, SkillFactory, MathsHub. Веду канал о Python в telegram: https://t.me/pythontalk_ru
Пикабушник
Дата рождения: 30 августа
Гость оставил первый донат
1791 рейтинг 105 подписчиков 0 подписок 38 постов 5 в горячем

Что там в IT?

🌚"Яндекс Практикум" провёл опрос (участвовали 1.5к человек), о том, почему люди хотят вкатиться в IT.
🔸61% респондентов выбирают сферу из-за возможности удалёнки.
🔸53% заявили, что работа в IT – просто их мечта.
🔸47% выбирают профессию из-за высокого дохода.
Почти у 2/3 желающих войти в сферу нет опыта в программировании. У 60% есть высшее образование (но непрофильное).

👩‍❤️‍💋‍👨А сервис Работа.ру опросил 1.2 тысячи женщин из всех регионов РФ.
47% из них считают, что сфера IT – самая перспективная для поиска мужа. На втором месте нефтянка.
68% опрошенных респонденток выбрали перечисленные отрасли из-за высоких зарплат, 13% заявили, что сферы близки им по духу, 7% сказали, что там работают привлекательные мужчины.

🤖Помогать повышать ценность на рынке отношений труда (или наоборот?) собирается Яндекс. Компания разрабатывает нейросетку, которая будет помогать осваивать информатику и программирование , подстраиваясь под уровень учеников. Она будет базироваться на YandexGPT (YaLM 2.0). Сейчас даже нанимают учителей и репетиторов, чтобы дообучать сетку.
Выкатить обещают в 2024 году.

⛓️Минцифры же предлагает дать отсрочку от военной службы айтишникам со средним образованием и расширить перечень необходимых для отсрочки специальностей. Сейчас действуют такие критерии: возраст от 18 до 27 лет, работа по трудовому договору, высшее образование по специальности из перечня, работа в IT-компании не менее 11 месяцев с даты начала очередного призыва (компания должна быть аккредитована).
Пока такие запросы прокатывают не очень. Скорее всё происходит наоборот 🤡

Показать полностью
5

Сравниваем нейросетки на Python-задачах. Раунд 5. Финал

📖 Итак, сравниваем нейросетки ещё разок на финальной задаче. Теперь необходимо прочитать все txt-файлы из текущей рабочей директории (это книги), по каждой книги построить облако слов и найти две самые похожие книги из имеющихся.

С заданием полноценно справились 5 моделей, традиционные лидеры.

🔸GPT3.5 корректно сделала векторизацию текстов через TfidfVectorizer и нашла расстояния между векторами через косинусное сходство. Код при этом не декомпозирован, никакой предобработки текстов не делалось (хотя это уточнялось в запросе).

🔸GPT4 сделала всё примерно так же, при этом реализовала предобработку текстов (лемматизацию, очистку от небуквенных символов, удаление стоп-слов). Графики получились мелкими и не очень читаемыми, но это не критично.

🔸Bing полностью разбил код на функции, отлично построил графики, но не реализовал никакую предобработку кроме очистки от стоп-слов.

🔸Sage построил графики не в сетке, алгоритм сопоставления книг не самый оптимальный (через вложенные циклы).

🔸Claude+ все сделал отлично, кроме финального сравнения, где за максимальное сходство выдал сравнение книги с самой собой. Предобработки текстов так же нет, код макаронный.

😟Bard, к сожалению, зафейлился на этапе сравнения книг :( Графики построил корректно, но не в сетку (это уточнялось в запросе).

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

Решил дать 2 балла только GPT4, т.к. все требования реализованы, хоть и без хорошей декомпозиции. Остальные работающие варианты – 1 балл.

👉🏻Все ответы моделей тут.

📊 Итоговые результаты после 5 раундов:
🥇 GPT4 – 8;
🥈Bing – 7;
🥉GPT3.5 – 5;
😗 Bard, Sage – 4;
😗 Claude+, Claude Instant – 3;
😗 Koala – 1;
💩 Остальные по нулям.

🌚 Какие выводы? Не очень удивительные 👇🏻

🔹Ни одна модель не справилась со всеми задачами.

🔹GPT4 решает. Bing работает на ней же, небольшую разницу в результатах можно списать на вариативность в ответах.

🔹Чуть похуже справляется GPT3.5, гугловский Bard, Sage и модели Claude.

🔹Все остальное, в т.ч. весь возможный опенсорс-зоопарк, просто не пригодно для использования с точки зрения задач программирования.

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

Показать полностью

Виртуальная подруга GirlfriendGPT

Чувак запилил проект, который позволяет добавить в ТГ бота-девушку с настраиваемой личностью и голосом.

Может не только текстом отвечать, но и голосовухи отправлять. А ещё "селфи" (на сколько этот термин применим к чатботу?) делает.

🔜В текущих планах по развитию добавить "память" и сделать селфи фотореалистичными.

Код на Python можно посмотреть здесь 🐍

Пелевиновский SNUFF уже во многом реализовался, теперь вот осталось сур немного допилить 🙈

Показать полностью

Нейрофакты про Python

Нейрофакты про Python IT, Python, IT юмор, Программирование, Программист, Разработка, Мат

🥚Глубоко в недрах стандартной библиотеки Python скрыто сокровище: "Пасхальное яйцо вечной документации". Считается, что этот легендарный артефакт содержит ответы на все вопросы по программированию, которые когда-либо задавались, и даже на те, которые еще не были заданы. Многие пытались найти его, но никто не преуспел, потому что путь к нему очень опасен и охраняется страшными "синтаксическими змеями". Только те, кто в полной мере владеет искусством pythonic кода, могут надеяться раскрыть секреты пасхального яйца.

👺В мистической стране Питонии, где был создан язык программирования Python, существует тайное общество разработчиков, известное как "Отступная инквизиция". Эти преданные своему делу люди путешествуют по миру, следя за тем, чтобы каждый отступ был ровно на четыре пробела, не больше и не меньше. Если они обнаружат нестандартную табуляцию или неправильное количество пробелов, провинившийся программист будет приговорен к пожизненной отладке спагетти-кода.

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

👀Cуществует малоизвестная библиотека для Python под названием "BlyatScript", которая была разработана группой программистов, считавших, что языку нужно придать больше славянского колорита. BlyatScript заменяет все стандартные функции Python на их эквиваленты, например, "print()" на "blyat_print()" и "eval()" на "cyka_eval()". Единственный способ установить эту библиотеку – подключиться к интернету через роутер, и три раза в полночь прокричать "BlyatScript, приди ко мне!".

💸The Python Software Foundation получает 47% своего годового дохода от продажи мягких игрушек-змей, 31% – от всемирно известного вебкам сервиса, а оставшуюся часть – за нецензурную брань от ошибок, связанных с отступами.

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

Показать полностью
3

Сравниваем нейросетки на Python-задачах. Раунд 4

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

Есть структура данных, которая содержит визиты по городам:

geo_logs = [
{'visit1': ['Москва', 'Россия']},
{'visit2': ['Дели', 'Индия']},
{'visit3': ['Владимир', 'Россия']},
{'visit4': ['Лиссабон', 'Португалия']},
{'visit5': ['Париж', 'Франция']},
{'visit7': ['Тула', 'Россия']},
{'visit9': ['Курск', 'Россия']},
{'visit10': ['Архангельск', 'Россия']}]

Необходимо её отфильтровать, чтобы остались только визиты в города России. Самый типовой подход, который приводит к проблеме – удаление элементов из списка по условию прямо во время итерации по нему:

for log in geo_logs:
__for el in log.values():
____if 'Россия' not in el:
______geo_logs.remove(log)
print(geo_logs)

🤖Нашли ли ли нейросетки проблемы в таком подходе? Как его оптимизируют?
Варианты оказались разнообразными👇🏻

🔸GPT3.5 и Claude Instant решили задачу через создание нового списка и наполнение его через обратное условие, но при этом оставили вложенный цикл. Неоптимально, но верно.
Claude+ предложила два способа именно изменение исходного объекта (через создании копии и через reverse), но также от вложенного цикла не отказалась.
Этим троим по баллу.

🔸GPT4 корректно создала новый список через list comprehension. Bing также использовал list comprehension, но при этом добавив проверку на наличие строки в любых значениях словаря (это не требовалось по условию, но пусть будет). Такие варианты наиболее лаконичные. Им 2 балла.

🔸Bard использовал filter, но забыл достать из values-объекта списки, в которых и надо делать проверку на вхождение, поэтому результат получился некорректный. А Sage использовал list comrehension, но напрямую индексировал values-объект, что приведёт к ошибке. Подобные ошибки допустили ещё парочка моделей.

👉🏻Все ответы моделей тут.

📊 Промежуточные результаты после 4 раундов:
🥇 Bing, GPT4 – 6;
🥈 Bard, GPT3.5 – 4
🥉 Claude Instant, Sage – 3;
😗 Claude+ – 2;
😗 Koala – 1;
💩 Остальные по нулям.

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

Предыдущие сравнения: 1, 2, 3.

Показать полностью
1

ИИ вас научит, а потом за вас поработает!

🤖С сентября этого года на одном из самых популярных курсов по введению в computer science и программированию планируется использовать чат-бота на базе GPT-3.5/GPT-4.

Преподаватель курса Дэвид Малан надеется, что ИИ снизит нагрузку на профессорский состав, освободив время для индивидуального общения со студентами. При этом более качественная оценка студенческого кода по-прежнему будет требовать активное вовлечение человека.

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

🔹В мае глава IBM Арвинд Кришна сообщил, что компания приостанавливает приём новых сотрудников на позиции, которые могут быть заменены ИИ в ближайшие годы (впрочем, в более позднем интервью он заявил, что его слова вырваны из контекста, и «ИИ создаст больше рабочих мест, чем ликвидирует»).

🔹Некоторые компании, такие как Chegg, сокращают рабочую силу, чтобы лучше позиционировать себя в рамках ИИ-стратегии.

🔹В конце апреля сервис Dropbox заявил, что сокращает 16 % рабочих мест — около 500 человек, также сославшись на успехи искусственного интеллекта.

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

❌А Гугл тем временем не рекомендует своим сотрудникам использовать код, написанный их же собственным чат-ботом Bard.

Объяснили тем, что Bard может генерировать код с уязвимостями. Также в компании попросили сотрудников не делиться конфиденциальными данными с чат-ботами, потому что это может привести к утечке определённых данных компании, включая конфиденциальную информацию.

Показать полностью
5

Сравниваем нейросетки на Python-задачах. Раунд 3

Сегодня проверяем нейросетки на алгоритмической задаче:

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

🤖Результаты получились неплохие – 7 моделей справились с задачей. Интересно, что способы решения при этом отличались: GPT3.5, GPT4, Bing, Sage, Claude Instant использовали динамическое программирование, а Bard и Claude+ использовали рекурсию.

🔀 На самом деле оба способа имеют право на существование, поэтому не совсем понятно, какому из них отдать предпочтение. С одной стороны, рекурсия лаконичнее, но всё же такой способ имеет экспоненциальную временную сложность O(2^n), так как одни и те же значения вычисляются многократно, а вот динамический подход имеет временную сложность имеет сложность O(n).

Поэтому дадим GPT3.5, GPT4, Bing, Sage, Claude Instant по 2 балла, а Bard и Claude+ – по одному.

📊 Промежуточные результаты после 3 раундов:
🥇 Bard, Bing, GPT4 – 4;
🥈 GPT3.5, Sage – 3;
🥉 Claude Instant – 2;
😗 Claude+, Koala – 1;
💩 Остальные по нулям.

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

А варианты всех моделей, как обычно, доступны в колабе.

Предыдущие сравнения: Раунд 1, раунд 2.

Показать полностью
Отличная работа, все прочитано!