Czytaj książkę: «Как уместить великана в чемодан. Нейросети без формул»
Как уместить великана в чемодан
Про то, как огромные умные машины делают маленькими и быстрыми
Книга для тех, кто ничего не знает про компьютеры
Ни одной формулы. Честное слово.
Введение. Белее, чем что?
На пачке стирального порошка написано: «Теперь ещё белее!»
Прочитай это ещё раз и подумай минутку.
Белее — чем что? Белее, чем этот же порошок был раньше? Белее, чем у соседей? Белее, чем снег? Белее, чем варёное яйцо?
Ничего этого на пачке нет. Есть только слово «белее», а с чем сравнивают — не написали. И самое интересное: ты, скорее всего, даже не заметил подвоха. Наша голова терпеть не может пустых мест и сама вставляет туда что-нибудь подходящее.
А теперь то же самое, только про умные машины.
Люди делают такие машины — те, что отвечают на вопросы, пишут стихи и решают задачи. И постоянно пишут про них: «стала лучше», «работает быстрее», «почти не потеряла в качестве».
Лучше — чем что? Быстрее — чем что? Почти — это сколько?
Вот про это вся книга. Не только про то, как сделать машину меньше и быстрее — хотя про это тоже будет много всего интересного. А ещё и про очень полезную привычку: всегда договаривать вторую половину сравнения.
Что тебя ждёт.
Сначала мы разберёмся, из чего вообще сделана умная машина. Спойлер: не из проводов и не из микросхем — вернее, не только.
Потом узнаем, почему она такая тяжёлая и почему иногда думает медленно. Ответ окажется неожиданным.
Потом займёмся самым весёлым: будем делать её меньше. Разными способами. Их много, и каждый похож на какой-нибудь обычный домашний фокус — округлить, отрезать лишнее, научить младшего брата, не таскать вещи туда-сюда.
А в конце вернёмся к порошку и научимся не попадаться.
Одно обещание.
В этой книге не будет формул. Совсем. Не будет программирования. Не нужно ничего знать заранее.
Всё, что тебе понадобится, — уметь представлять картинки в голове. Например, вот прямо сейчас: представь чемодан. Готово? Значит, всё получится.
Часть первая. Кто такой этот великан
Глава 1. Великан, который живёт в компьютере
Представь очень большую таблицу. Такую, как расчерченный на клетки лист, только огромную.
Не десять клеточек. Не тысячу. Семь миллиардов клеточек.
Это трудно вообразить, поэтому давай посчитаем по-другому. Если бы ты писал по одному числу в секунду, без сна, без еды и без выходных, тебе понадобилось бы больше двухсот лет. И это только чтобы записать. Один раз.
Вот эта таблица — и есть умная машина. Её настоящее имя — модель, но я буду называть её великаном: он огромный, тяжёлый и на самом деле довольно неповоротливый.
Что внутри каждой клеточки.
Одно число. Обычно маленькое — что-то вроде 0,37 или −0,08.
И всё. Больше ничего.
Чего внутри нет.
А вот это важнее. Внутри великана нет книжки с фактами. Нет словаря. Нет ящичка с надписью «стихи» и отдельного ящичка с надписью «математика».
Так думают почти все, кто слышит про умные машины впервые. Нет. Там только числа.
Тогда где же он хранит то, что знает?
Давай проверим. Спроси у такой машины: «Какая столица Франции?» Она ответит: «Париж».
Значит, она это знает. Значит, где-то это записано. Где?
Ответ странный: нигде конкретно. И одновременно везде понемножку.
Нет клеточки с надписью «Париж». Есть миллионы клеточек, и каждая чуть-чуть подталкивает ответ в нужную сторону. Одна подталкивает совсем незаметно. Другая тоже. Но их миллионы, и вместе они дают «Париж».
Это как хор. В хоре сто человек. Спроси, кто из них поёт мелодию, — никто по отдельности. Мелодия получается из всех вместе. Убери одного — ты даже не услышишь разницы. Убери восемьдесят — и песня развалится.
И вот отсюда начинается вся наша история.
Раз ни одна клеточка не главная сама по себе — значит, с этими числами можно обращаться не очень бережно. Округлить. Кое-где заменить на ноль. Кое-где выкинуть.
Великан этого почти не заметит. А чемодан станет намного легче.
Только надо знать, что можно трогать, а что нельзя. Об этом дальше вся книга.
Глава 2. Почему великан такой тяжёлый
Хорошо, семь миллиардов чисел. А сколько это места?
Тут надо разобраться с одной штукой, которая на первый взгляд скучная, а на самом деле в ней вся соль.
Сколько знаков после запятой?
Компьютер хранит число не как «0,7». Он хранит его подробно: 0,7003841.
Семь знаков после запятой. У каждого из семи миллиардов чисел.
Зачем так подробно? Скоро узнаем — и это отличный вопрос. Пока просто запомним: очень подробно.
И сколько же это весит?
Одно такое подробное число занимает четыре байта. Байт — это мера, как грамм или сантиметр, только для компьютерной памяти.
Умножаем на семь миллиардов, получаем двадцать восемь гигабайт.
Само по себе это число мало о чём говорит, поэтому переведу. Двадцать восемь гигабайт — это примерно как:
семь полнометражных фильмов в хорошем качестве;
или целый сезон сериала;
или десять тысяч фотографий с телефона;
или столько, что в этот самый телефон оно просто не влезет. Вообще. Никак.
А ведь семь миллиардов — это маленький великан. Бывают в десять раз больше. И в пятьдесят.
Главный вопрос всей книги.
Вот теперь я задам вопрос, ради которого была вся эта глава.
Тебе правда нужны все семь знаков после запятой?
Подумай про чемодан. Ты собираешься в самолёт, и чемодан надо взвесить. На весах написано: 22,9847 килограмма.
Скажи честно: тебе важно, что там 9847 в конце? Или тебе достаточно знать «двадцать три килограмма, значит, влезаю в норму»?
Достаточно двадцати трёх. Всё, что после запятой, — правда, но совершенно бесполезная правда. Ты не примешь ни одного решения по-другому, узнав про эти 9847.
А теперь представь семь миллиардов чемоданов.
Каждый взвешен до четвёртого знака. Каждый занимает место в памяти.
Сколько из них правда требуют такой точности?
Оказывается, почти ни один. Но некоторые — требуют, и очень настойчиво. Если их огрубить вместе со всеми, великан начнёт нести чушь.
Вся хитрость в том, чтобы отличить одни от других. Этим мы и будем заниматься.
Глава 3. Откуда взялись семь знаков
Погоди, скажешь ты. Если эти знаки не нужны, зачем их вообще записали?
Хороший вопрос. И ответ красивый.
Как великан учился.
Великан не родился умным. Его учили — очень долго, показывая огромное количество текстов.
Учёба выглядела так. Великану показывают кусочек текста и просят угадать следующее слово. Он угадывает. Обычно неправильно. Тогда все семь миллиардов чисел чуть-чуть подкручивают в ту сторону, где ответ был бы правильнее.
И так миллионы раз. Миллиарды.
Вот тут-то и нужны знаки.
Ключевое слово — «чуть-чуть». Каждая подкрутка крошечная. Не на 0,1 и даже не на 0,001. На что-то вроде одной стотысячной.
А теперь представь, что ты записываешь только два знака после запятой. У тебя число 0,37. Ты хочешь прибавить одну стотысячную.
0,37 + 0,00001 = 0,37001. Округляем до двух знаков... получаем 0,37.
Ничего не изменилось. Ты прибавил — и результат тот же самый. Как будто не прибавлял.
Если так делать всё время, великан вообще никогда ничему не научится. Он будет старательно подкручивать числа, а числа будут возвращаться на место.
Поэтому во время учёбы нужна большая точность. Обязательно.
А вот потом — не нужна.
Когда великан выучился, он больше ничего не подкручивает. Он просто считает: берёт твой вопрос и умножает на свои числа.
И вот здесь семь знаков — это ровно те самые граммы в аэропорту. Есть, честные, никому не нужные.
Вот и весь секрет.
Точность нужна, пока учишься. Когда выучился — можно округлять.
Это как черновик и чистовик. В черновике ты пишешь мелко, зачёркиваешь, считаешь в столбик, оставляешь пометки на полях. А в чистовик переписываешь только ответ.
Великан после учёбы — это чистовик. Черновик можно выбросить.