ИИ-погромизм

Зани­мал­ся вче­ра созда­ни­ем ней­ро­се­тей под руко­вод­ством ChatGPT. По ито­гам я имею ска­зать вот что.

В целом — впе­чат­ля­ет. Даёт не самый пло­хой код на Питоне для созда­ния ней­ро­се­ти на TensorFlow, что харак­тер­но — исполь­зуя keras. Прак­ти­че­ски то же самое, что я сам рисо­вал четы­ре года назад.

Толь­ко в этот раз я замах­нул­ся пошЫр­ше и решил ней­ро­се­ти скор­мить csv с «финан­со­вы­ми тран­зак­ци­я­ми». Внут­ри csv было один­на­дцать коло­нок, десять про­сто с чис­ла­ми, а один­на­дца­тая — с доволь­но слож­ным вычис­ле­ни­ем из дан­ных, нахо­дя­щих­ся в шести колон­ках (сло­же­ние двух дро­бей, вычис­ле­ние 10% от полу­чен­но­го, и скла­ды­ва­ние с ещё дву­мя колон­ка­ми). Четы­ре остав­ши­е­ся колон­ки не дела­ли ниче­го.

Модель делал пяти­слой­ную, сто ней­ро­нов в четы­рёх сло­ях, один ней­рон в выход­ном слое (это уже не ЧатЖПТ пред­ла­гал, это уже я сам). Навер­ное, это даже избы­точ­но слож­ная модель.

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

Ска­жу сра­зу, всё полу­чи­лось. Конеч­но, мате­ма­ти­ка на ней­ро­се­тях доволь­но неак­ку­рат­на, но после 5000 эпох тре­ни­ров­ки она смог­ла преду­га­ды­вать зна­че­ния с точ­но­стью, не выхо­дя­щей за рам­ки 5%. Пла­ни­рую пока­зать резуль­тат началь­ни­ку, кон­то­ра силь­но оза­бо­ти­лась встра­и­ва­ни­ем ИИ в про­дук­цию.

Но поми­мо это­го, у меня воз­ник­ли неболь­шые слож­но­сти, и воз­ник­ли они имен­но от при­ме­не­ния ИИ.

Во-пер­вых, ЧатЖПТ неред­ко даёт код для Пито­нов­ских биб­лио­тек, кото­рый уже явля­ет­ся уста­рев­шим (deprecated). Напри­мер, свой­ство pandas.DataFrame.iloc — вытас­ки­ва­ние инди­ви­ду­аль­ных коло­нок из pandas.DataFrame.

Во-вто­рых, ЧатЖПТ созда­ёт в коде баги. Напри­мер, вме­сто деся­ти строк в тесто­вом набо­ре дан­ных у меня поче­му-то счи­ты­ва­лись толь­ко девять. Раз­го­вор шёл при­мер­но вот так:

–А у меня вме­сто деся­ти ожи­да­е­мых строк толь­ко девять.
–Может, дан­ные кри­вые? Вот как их надо нор­ма­ли­зи­ро­вать.
–Дан­ные нор­маль­ные, но счи­ты­ва­ет­ся толь­ко девять строк вме­сто деся­ти. Пер­вая стро­ка про­гла­ты­ва­ет­ся.
–Не долж­на. Вот код, как пра­виль­но счи­ты­вать csv через pandas.read_csv
–Я этот код и исполь­зую, но пер­вой стро­ки нет.
–Ну, пра­виль­но, пото­му что по умол­ча­нию пер­вая стро­ка счи­ты­ва­ет­ся в име­на коло­нок. В pandas.read_csv надо ста­вить пара­метр header=None, что­бы так не про­ис­хо­ди­ло.
–А чо сра­зу-то не ска­зал?
–Изви­ня­юсь.

Но в целом (в целом) — впе­чат­ля­ет, да. Дале­ко не с каж­дым чело­ве­ком я на эту тему могу пого­во­рить, более того, не каж­дый сра­зу «на гора» выдаст рабо­та­ю­щий (более-менее) код. Оши­ба­ет­ся ино­гда? Ну да, оши­ба­ет­ся. Пока­жи­те мне чело­ве­ка, кото­рый не оши­ба­ет­ся, и я пока­жу вам лен­тяя, кото­рый нико­гда ниче­го не дела­ет. Тем не менее, лен­тяю в спо­соб­но­сти рас­суж­дать поче­му-то не отка­зы­ва­ют, а иску­ствен­но­му интел­лек­ту — таки да. Непра­виль­но это, ИМХО. ИИ вполне спо­со­бен на рас­суж­де­ния.

Про бан Касперского

В‑общем, конеч­но, это было пред­ска­зу­е­мо. Когда его заба­ни­ли для феде­ра­лов США, бан для ком­мер­че­ских орга­ни­за­ций и вооб­ще для всей стра­ны был толь­ко вопро­сом вре­ме­ни.

Непо­нят­но, прав­да, чего так дол­го тяну­ли (10 лет, блин!), и ещё неяс­но, поче­му люди вооб­ще его исполь­зо­ва­ли. Как я от него отка­зал­ся — так впер­вые вдох­нул пол­ной гру­дью, настоль­ко этот, кгм, про­дукт оте­че­ствен­ных погро­ми­стов был гов­но — заве­ши­вал наглу­хо маши­ну акку­рат­но мини­мум раз в два дня, и посто­ян­но тор­мо­зил систе­му.

Мно­гие не в кур­се, как всё вооб­ще нача­лось, рас­ска­жу ещё раз.

В 2014 году жил да был сотруд­ник АНБ, кото­рый (с дур­на ума, это вер­но) при­нёс доку­мен­ты с гри­фом «Сек­рет­но» на домаш­ний ком­пью­тер. Анти­ви­рус Кас­пер­ско­го не то обна­ру­жил какой-то вирус внут­ри зип-архи­ва с доку­мен­том, не то нашёл ещё что-то, и так как сотруд­ник вклю­чил в анти­ви­ру­се фичу «всё непо­нят­ное отсы­лать в ана­ли­ти­че­скую лабо­ра­то­рию Кас­пер­ско­го», сек­рет­ный аме­ри­кан­ский доку­мент таким обра­зом утёк в Рос­сию.

И панес­лась… Блум­берг и Уолл-стрит Джор­нел раз­ра­зи­лись ста­тья­ми про то как Лабо­ра­то­рия Кас­пер­ско­го осу­ществ­ля­ет слеж­ку за США через уста­нов­лен­ный анти­ви­рус.

В ответ Кас­пер­ский нака­тал подроб­ный отчёт (кото­рый выгля­дит доста­точ­но прав­до­по­доб­но, надо ска­зать), про то, «как всё было на самом деле» в том слу­чае с сотруд­ни­ком АНБ. В отчё­те они ска­за­ли, что сотруд­ник — сам дурак, и что его ком­пью­тер был зара­жён тро­я­ном, а утёк­ший сек­рет­ный доку­мент с сер­ве­ров Лабо­ра­то­рии Кас­пер­ско­го был немед­лен­но уда­лён, и что от него оста­лись лишь мета-дан­ные.

Почти одно­вре­мен­но с этим Нью-Йорк Таймз опуб­ли­ко­вал ста­тью, в кото­рой, сослав­шись на раз­вед­ку Изра­и­ля, кото­рая уже дав­но взло­ма­ла сеть Лабо­ра­то­рии Кас­пер­ско­го, они заяви­ли, что сек­рет­ные доку­мен­ты, собран­ные таким обра­зом, никто не уда­лял, и что их там собра­но нава­лом.

Сам Кас­пер­ский, кста­ти, факт взло­ма их сети дей­стви­тель­но под­твер­дил ещё в 2015 году.

Кто прав? А хрен его зна­ет. У меня нет досту­па к раз­вед­дан­ным, ведь даже неиз­вест­но, один-един­ствен­ный был такой слу­чай, как в 2014 с кон­трак­то­ром АНБ, или же их было мно­же­ство.

Но даже если при­нять вер­сию, что слу­чай был дей­стви­тель­но един­ствен­ный, что всё это — это раз­ду­тый из мухи одно­го слу­чая слон, я не могу не счи­тать, что в теку­щем поли­ти­че­ском кли­ма­те исполь­зо­ва­ние про­грамм­но­го обес­пе­че­ния для ком­пью­тер­ной без­опас­но­сти аме­ри­кан­ских ком­пью­те­ров (не ути­ли­ты какой-нибудь), напи­сан­но­го в Рос­сии — пло­хая идея.

Ну, поми­мо того, что сам этот анти­ви­рус Кас­пер­ско­го — гов­но, акку­рат­ней­шим обра­зом заве­ши­вав­ший мне маши­ну раз в два дня.

Лучший защищённый мессенжер стал ещё лучше

Мес­сен­жер «Сиг­нал» поз­во­лит поль­зо­ва­те­лям исполь­зо­вать ники вме­сто теле­фон­ных номе­ров. Пом­нит­ся, кто-то в ком­мен­тах у меня сокру­шал­ся, мол, да, «Сиг­нал» неплох, но намерт­во при­вя­зан к теле­фон­но­му номе­ру, кото­рый све­тит­ся нару­жу. Ну, теперь это более не будет про­бле­мой.

Умер Никлаус Вирт

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

if (a = b) {}

И это выпол­нит­ся! Так как здесь = рас­смат­ри­ва­ет­ся как опе­ра­тор при­сво­е­ния, и соот­вет­ствен­но, воз­вра­ща­ет-то он True, пото­му что при­сво­е­ние про­изо­шло успеш­но! А на Пас­ка­ле = это опе­ра­тор срав­не­ния внут­ри If, а при­сво­е­ние дела­ет­ся как a := b

Ну, а на сях при­шлось опе­ра­тор срав­не­ния делать == , что неред­ко при­во­ди­ло к ляпам. Про Джа­вас­крипт с его раз­но­об­ра­зи­ем =, ==, и аж === даже начи­нать не буду. В топ­ку, сра­зу.

Но, навер­ное, глав­ная заслу­га Вир­та это даже не язык Пас­каль. А в том, что уси­ли­я­ми Вир­та и Дейкс­т­ры был убит опе­ра­тор GoTo. Ну, в язы­ках высо­ко­го уров­ня. Так-то все эти if и while, и про­чие for ком­пи­ли­ру­ют­ся-то в ассем­бле­ров­ский JMP всё рав­но.

Пусть он обре­тет покой.

Как обойти пейволл Нью-Йорк Таймз

Всё про­сто.

1. В любой бра­у­зер ста­вим uBlock Origin.
2. Идём на https://www.nytimes.com
3. Откры­ва­ем настрой­ки uBlock Origin и бло­ки­ру­ем для это­го сай­та весь жабас­крипт:


4. ПРОФИТ!

Не бла­го­да­ри­те.

Про подписки

Вот я встре­чаю уже не один раз мне­ние, что под­пис­ка на софт, напри­мер, на тот же Фото­шоп — это зло и наду­ва­тель­ство. Я рань­ше тоже так думал, но потом пере­ду­мал. И вот поче­му.

Насколь­ко мне извест­но, лицен­зию Фото­шо­па «веч­ную» купить более невоз­мож­но. Но хоро­шо извест­но, сколь­ко она сто­и­ла, бла­го­да­ря https://archive.org/:

Пред­по­ло­жим, ты купил её один раз, и каж­дый год обнов­ля­ешь­ся ради новых фичей. За десять лет ты запла­тишь: $699 + 9 * $199 = $2490

А Кре­а­тив­Кла­уд даёт под­пис­ку на Фото­шоп (и ещё и Лай­трум даёт при­да­чу) за десят­ку в месяц. И за 10 лет ты запла­тишь: $10 * 12 * 10 = $1200

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

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

Игрушки под ДОС

При­коль­но. Немно­го шаро­вар­ных ДОСов­ских игру­шек, иду­щих пря­мо в бра­у­зе­ре:

https://dosdeck.com/

Я нико­гда рань­ше не играл в демо-вер­сию Дума, про­шёл всю, хотя, конеч­но, без сек­ре­тов (ракет­ни­цу я так и не нады­бал). Ну, и играть в трёх­мер­ную игруш­ку кла­ви­ша­ми — при­вет вам, «трак­то­ри­сты» 1990х. Кро­ме того, так как игра в бра­у­зе­ре, кноп­ку Альт (кото­рой в Думе «трак­то­ри­сты» стрей­фи­лись) они не дают, а стрей­фить­ся кноп­кой Z я так и не смог. Ничо, наши побе­ди­ли всё рав­но.

Стар­пёр­че­скую носталь­ги­че­скую сле­зу про­лил, да.

«Когда я был малень­кий», и у меня была какая-то зву­ко­вая кар­точ­ка OPTI (жут­кое гов­но, жут­кое), сов­ме­сти­мая с SB Pro; нор­маль­но­го MIDI в ней не было, так что думов­ская музы­ка зву­ча­ла бур­лом, через ЧМ-син­тез. Нор­маль­ную музы­ку слы­ша­ли толь­ко счаст­ли­вые (по тем мер­кам) обла­да­те­ли зву­ко­вых кар­то­чек Gravis Ultrasound, Roland Sound Canvas, или дочер­ней пла­ты Creative WaveBlaster.

AdLib и про­чее зву­ча­ло фиг­нёй, да. Хотя тео­ре­ти­че­ски General Midi, с под­клю­чён­ным внеш­ним син­те­за­то­ром мог бы зву­чать инте­рес­но.

К чему я — к тому, что MIDI музы­ку в Думе пере­ве­ли в нор­маль­ный фор­мат, и тут её слыш­но так, как более-менее наме­ре­вал­ся автор, а не ЧМ-бур­лом. И за это им спа­си­бо.

Покупай, пока дают

На Adobe.com боль­шая скид­ка на под­пис­ку «на все при­ло­же­ния». Вме­сто 60 монет в месяц на целый год мож­но под­пи­сать­ся за 30. Мне, редак­ти­ру­ю­ще­му фото­гра­фии посто­ян­но и мон­ти­ру­ю­ще­му видео пери­о­ди­че­ски эта покуп­ка видит­ся крайне выгод­ной. Вклю­чен и Фото­шоп, и Иллю­стра­тор, и Пре­мьер, и даже мой люби­мый зву­ко­вой редак­тор Оди­шен (Audition), кото­рый в деви­че­стве был Syntrillium Cool Edit.

Про ентот ваш Линукс

Когда же, нако­нец-то, эту кри­вую подел­ку на деск­то­пе дове­дут до ума? Невоз­мож­но же поль­зо­вать­ся.

Вот у меня есть лап­топ для ска­чи­ва­ния тор­рен­тов вся­ких интер­нет-вещей, там бра­у­зер, ВПН, про­чее. Воткнул я на него Убун­ту 22.04. Рабо­та­ло через жут­кую зад­ни­цу, жут­кую. Ско­рость рабо­ты бес­про­вод­ной сети акку­рат­но раз в день пада­ла до 10 мега­бит, пери­о­ди­че­ски всё зави­са­ло и гро­ха­лось. Ино­гда лечи­лось отклю­че­ни­ем вай­фая и вклю­че­ни­ем его зано­во. Ино­гда при­хо­ди­лось при­ну­ди­тель­но пере­за­гру­жать. На экране — посто­ян­но какие-то под­глю­ки­ва­ния.

А поста­вил вин­ду-десят­ку — и всё сра­зу зара­бо­та­ло с пол-пин­ка. Вот уже месяц ниче­го не пере­гру­жал, а ско­рость рабо­ты вай­фая не пада­ет ниже 300 мега­бит. И всё желе­зо рабо­та­ет пре­крас­но.

На Линук­се мы име­ем закол­до­ван­ный круг — в основ­ном все эти про­бле­мы сво­дят­ся к косо­ру­ким драй­ве­рам. Драй­ве­ры нор­маль­ные для «бес­плат­но­го» линук­са никто не пишет, пото­му что нет спро­са. А спро­са нет — пото­му что нет нор­маль­ных драй­ве­ров. Я, напри­мер, на сво­ём рабо­чем лап­то­пе с гибрид­ной видео­кар­той Intel/NVidia Quadro линукс заста­вить функ­ци­о­ни­ро­вать вооб­ще не смог. Драй­вер ста­вит­ся, но не фуры­ка­ет.

Линукс бес­пла­тен толь­ко если твоё вре­мя ниче­го не сто­ит.

На сер­ве­рах Линукс рабо­та­ет более-менее нор­маль­но (хотя если есть воз­мож­ность, я всё же постав­лю пра­во­вер­ный FreeBSD). Кро­ме того, Линукс заме­ча­тель­но лета­ет в WSL, кото­рым я посто­ян­но поль­зу­юсь. Но на деск­то­пе — жуть с ружьём.

И так как нор­маль­но­го деск­топ­но­го линук­са ждут уже лет мини­мум два­дцать, я думаю, нор­маль­ный деск­топ­ный линукс… не вый­дет нико­гда. Толь­ко если какая-то кон­то­ра, типа ХеПе, не усы­но­вит эту фин­скую подел­ку, и не нач­нёт делать свой дис­три­бу­тив, кото­рый будет нор­маль­но рабо­тать хотя бы на хепеш­ном желе­зе.

Пяти­ми­нут­ка нена­ви­сти к Линук­су и про­че­му Вед­ро­и­ду окон­че­на 🙂

ИИ-музыка

Гене­ра­ция музы­каль­но­го кон­тен­та при помо­щи ИИ уже доволь­но дол­го исполь­зу­ет­ся ком­по­зи­то­ра­ми в циф­ро­вых зву­ко­вых рабо­чих стан­ци­ях (DAW). Но теперь есть инстру­мент, кото­рый поз­во­ля­ет любо­му чело­ве­ку задать тек­сто­вый запрос и полу­чить музы­каль­ный ответ. Напри­мер «дум-метал с агрес­сив­ны­ми сбив­ка­ми» или «про­грес­сия аккор­дов для соло».

Кто искал? Полу­чи­те, рас­пи­ши­тесь. Это анонс Stable Audio — музы­каль­но­го гене­ра­то­ра от тех же людей, что сде­ла­ли Stable Diffusion.