Java & JVM langs (Kotlin)
477 subscribers
71 photos
4 files
104 links
Заметки с конференций, тренингов по Java, а также ссылки на полезные материалы для самообразования от Алексея Зиновьева https://t.iss.one/zaleslaw
Download Telegram
Всем привет, сходил в подкаст по Java (кстати, очень клевый, там за последние короновирусные времена вышло много интересных историй). Говорили много про жизнь, машинное обучение для джависта, сравнивали Spark ML и Ignite ML, а также проблемы вкатывания в OSS/ML сферы.
Forwarded from javaswag
https://soundcloud.com/javaswag/12-aleksey-zinovev-mashinnoe-obuchenie-iznutri-sparka-i-ignayta

В 12 выпуске подкаста Javaswag поговорили с Алексеем Зиновьевым о машинном обучении внутри Apache Spark и Apache Ignite.

00:03:03 Как все началось?
00:06:31 Что такое задача машинного обучения?
00:09:46 Посчитать статистику это уже ML? Предсказать событие это уже ML? А когда это ML?
00:13:13 DevOps ML Engineer, QA ML Developer, Business ML Analyst и другие вакансии будущего
00:20:43 Почему дата сайнтисты пишут на питоне?
00:22:04 В какой момент в дата сайнсе появилась Джава?
00:24:49 Что было до Apache Spark?
00:29:29 Модуль Spark ML
00:35:22 Почему Apache Spark победил в мире ETL?
00:37:07 История SparkML
00:40:28 Как написать новый алгоритм для Apache Spark?
00:44:03 Apache Spark 3.0
00:48:12 Спарк - "помойка джаров с мавен централа"
00:50:46 Apache Spark движется на встречу дата сайнтистам, но они питонисты
00:52:56 Опенсорсные продукты, за которыми стоит одна кампания
00:55:05 Apache Ignite
01:03:40 ML в Apache Ignite
01:09:41 Как спроектировать API ML библиотеки
01:15:55 Как Ignite попал в Apache Foundation?
01:16:52 Какие алгоритмы реализовали первыми в Apache Ignite?
01:21:35 Меряемся фичами Игнайта и Спарка
01:25:32 Будущее Ignite ML
01:31:17 Как стать коммитером в Ignite? В какие блоки можно контрибьютить?
01:38:30 Как вкатиться в датасаенс в 2к20? Курс Воронцова и секретный дата саенс чат

Гость - twitter.com/zaleslaw
Одновременно с выходом подкаста вышел большой стрим про Apache Ignite ML
https://www.youtube.com/watch?v=SnUgcT06P1E

Это было мое первое выступление с ноября 2019 года, тяжело после такого перерыва, да еще и на discord сразу прочувствовать аудиторию - но материал был хороший, атмосфера дружелюбная, вопросы - полезные для понимания ситуации. Вещал из свое home office, к этому, впрочем, не привыкать. Если вдруг кто-то соскучился по моему фейсу и вебинарам - вот они)
Мне так понравился Kotlin-онлайн ивент, что захотелось поделиться несколькими интересными наблюдениями о развитии Kotlin и экосистемы. Поэтому я запланировал написать несколько сообщений об этом.

Начнем с того, что Kotlin - растет, причем, слава богу, не только в мобильной разработке (я ничего не имею против мобилок, просто не моя сфера теперь).

Во-вторых, для меня культурным шоком является то, что ему нацелили очень амбициозную цель - быть "фронтенд-языком", который умный конпелятор превратит в нативный код или в байткод JVM или в JS-мешанину.

Также, авторы Kotlin подтвердили курс на вынос все больше и больше общих моментов в единую кодовую базу на kotlin.

Источник: keynote https://www.youtube.com/watch?v=pD58Dw17CLk&feature=emb_title
Светлана Исакова сделала довольно подробный обзор фич Kotlin 1.4. Это минорная версия языка и прошло не так много времени с момента выхода громких 1.1 и 1.2, поэтому список не поражает воображение, но если вы уже пишите на Kotlin пару лет, то многие вещи будут вам полезные в ежедневной рутинной работе.

• SAM conversions for Kotlin classes
• Explicit API mode
• Trailing comma
• Break and continue inside when expressions
• Mixing named and positional arguments
• New type inference
• Unified exception type for null checks

Мне как создателю библиотек на kotlin подошли очень Explicit API mode и Mixing named and positional arguments.

Не скажу, что я восторге от функциональных интерфейсов fun interface (да-да! и так можно теперь), но я в целом не фанат DSL-ей (мне кажется это заради них делалось).

Света плотно работает с разработчиками Kotlin, поэтому объяснения почему приехала та или иная фича - у нее из первых рук.

https://www.youtube.com/watch?v=9ihevvUCoG0&feature=emb_title
Добрый день, читатели, я почти 9 месяцев работаю в JetBrains и близок к релизу одного интересного артефакта: Kotlin Deep Learning - фреймворка в духе Keras.

Под капотом фреймворка - TensorFlow, вызывать духов можно и из Java.

Если вам интересно принять участие в тестировании ранней версии, заполните, плиз форму.

https://docs.google.com/forms/d/e/1FAIpQLSd2VKmFCAHXtN8ZSDlD_ymDsID0Qf_-FgR6SIzLbD9FakbRwg/viewform
Forwarded from Big Data Russia
А пока группа добровольцев принялась за изучение альфа-версии KotlinDL, а спешу опубликовать один из самых сложных постов в своей жизни, за которым стоят десятки часов труда - результаты вычислительного эксперимента для основных алгоритмов Apache Ignite ML

https://zaleslaw.medium.com/apache-ignite-ml-performance-experiment-4036dc0386a3

При этом ясно, что время работы алгоритма машинного обучения, а в особенности в распределенной среде, такой как Apache Ignite зависит от множества факторов и сложно получить 1-в-1 числа (тем более, что тесты достаточно синтетические).

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

P.S. Почему я прошу нахлопать +50 - это увеличивает показы статьи внутри платформы Medium и статьи начинают жить своей жизнью.
P.P.S Мои статьи на medium всегда будут бесплатными, за paywall их не планирую убирать, Science и Research должны принадлежать народу.
P.P.P.S Таблицы в Medium вставлять - это просто ад.
На этой неделе я веду коллективное СМИ, приходите почитать.
https://twitter.com/dsunderhood

Темы, на которые буду писать:

1. Биография (матфак ОмГУ->аспирантура->начало трудовой карьеры->рынок труда в небольшом городе)
2. ML на JVM, текущее состояние
3. SparkML/Ignite ML
5. Kotlin for Data Science
6. Tensorflow, кишки
7. Разное (работа на удаленке, взгляды на жизнь)
Forwarded from Big Data Russia
Добрый день, рад сообщить, что первая альфа-версия KotlinDL (Keras на Kotlin поверх Tensorflow вышла)
https://github.com/JetBrains/KotlinDL

Ставьте звезды, они пригодятся!
Вот наша команда в JetBrains и выпустила многомерные массивы в стиле numpy. Под капотом Openblas или jvm на выбор!
Вышла Java 16 с ее records, поддержкой новых стандартов C++ 14 (вместо унылого, но понятного 98), Foreign Linker API (чтобы ходить в native шустрее чем с JNI) и прекрасный Vector API на развитие которого многие в мире ML/DL возлагают большие надежды. https://habr.com/ru/post/547364/ - тут хороший обзор новых фич. Kotlin без больших проблем всосал в себя Java 16 (я опасался все же за records). Впрочем, ни один OSS проект на Java, к которым я имею отношение не переходит на Java 16 прямо сейчас - скорее это поле для экспериментов и тестирования. Однако, выход новой версии Java на каждом проекте добавляет дровишек в топку разговоров "а не пора ли нам поднять версию с java 8 до java 11". Но обычно дискуссия затихает на том, что "пользователей на java 8 терять не хочется".
#реклама IT-индустрия изменила то, как мы учимся, работаем, знакомимся и едим. Пришла очередь автомобильной индустрии. 15 апреля в 17:00 на Arrival Live команда компании впервые публично расскажет про свой подход к автомобилестроению, мобильные микрофабрики вместо огромных заводов и софт, способный спрогнозировать неисправности и произвести ремонт до поломки.

Возможно онлайн или офлайн участие, но по предварительной регистрации.
Присоединяйся https://meetup.arrival.com/?utm_source=tg&utm_medium=post&utm_campaign=javajvm
Forwarded from Big Data Russia
Я тут записал видео о грядущем полновесном релизе библиотеки, над которой работаю - KotlinDL (https://github.com/JetBrains/KotlinDL), ну вы помните ее.
https://www.youtube.com/watch?v=jCFZc97_XQU&t=10s
Весьма горжусь новым релизом, потому, что в нем появилась возможность загружать себе и дотренировывать модели семейств ResNet, VGG и MobileNet для распознавания изображений.
Также был реализован удобный Kotlin DSL препроцессинг изображений поверх традиционной java-графики.
Появился нормальный Functional API, в целом это уже становится похожим на базовый Keras по функционалу.
Конечно, же, все это нормально работает и из Java, есть примеры и на Java.
P.S Финальный релиз выйдет в течение мая (чортовы майские), а превью уже доступно под именем 0.2-alpha-1
https://github.com/JetBrains/KotlinDL/blob/master/examples/src/main/java/LeNetClassic.java - вот пример на Java, кстати, понимаю, что на билдерах выглядело бы более прикольно, чем на конструкторах, надеюсь появится доброволец, который нам поможет сделать Java API симпатичным