Деньги — это просто способ распределения производимых обществом благ и услуг. Если в результате автоматизации суммарный ВВП увеличивается, то отсутствие денег у конечных потребителей — это вопрос справедливости распределения благ и услуг.
Закон Мура всё ещё продолжает работать. Пишут, что уже через 10 лет производительность компьютеров сравнится с потенциалом человеческого мозга. Появление всё более совершенных моделей — вопрос времени.
Если они целиком влезают в кэш, то уже можно обрабатывать линейным алгоритмом, предусматривающим случайный доступ. Если не влезают в кэш, то дробить дальше.
Вырисовывается некий mergesort
Типа того, да. Вот только, во-первых, сливать данные не нужно. А во-вторых, всё зависит от объёма данных и технических характеристик железа.
Если константа у алгоритма O(N) из-за случайного доступа больше, чем у O(N log N), где log N — это совсем небольшое значение (2-3), то алгоритм с O(N log N) будет быстрее. А если массив ещё в память не влезает, то выбор однозначно становится в пользу последнего.
Сорри, накосячил в плане терминологии. Понятие "число кэш-линий" стоит читать как "cache associativity". Короче, моя идея сводится к тому, что благодаря ассоциативности кэша мы можем одновременно читать и писать несколько потоков данных. По каком принципу формировать эти потоки данных, значения не имеет. Важно, чтобы одинаковые числа попадали в один поток.
Можно организовать массив в виде хэш-таблицы, где число бакетов равно числу кэш-линий минус одна. В итоге у нас получается одна очередь линейного чтения и N-1 очередей линейной записи. Дальше обрабатываем бакеты по очереди. Если бакет целиком влезает в кэш, то используем наивный алгоритм. Если не влазит, то дробим дальше. Правда, такой алгоритм будет плохо работать, если один и тот же элемент будет повторяться очень много раз.
Как раз опыт C++ здесь может сильно мешать. Например, в STL используется довольно своеобразный способ работы с коллекциями и итераторами, имеющий мало общего с C#/Java/Kotlin/Python.
Не надо начинать с C++. Это один из самых сложных языков в мире, который практически никто не знает на 100%, и который требует обширного багажа предварительных знаний и нескольких лет для изучения.
В случае нейронных сетей некоторым аналогом кратковременной памяти могут выступать значения на промежуточных слоях в рекурретных моделях. Но долговременная память (веса слоёв) остаются неизменными.
На нынешнем этапе развития процесс обучения (оптимизация весов — формирование памяти) и процесс инференса (собственно работа нейросети) разнесены. Некоторые модели нейронных сетей позволяют делать дообучение со сравнительно небольшими вычислительными затратами. Но об обучении нейронной сети в процессе эксплуатации речи пока не идёт.
Ничто. Закон Мура продолжает работать. Ожидается, что через 10 лет мощность компьютеров достигнет вычислительных возможностей мозга. 8 миллионов реплик — это много, но вот держать контекст в несколько тысяч через 10 лет будет вполне реально. А ещё через 10 лет счёт пойдёт на миллионы реплик. Вместо найма кожаных мешков можно будет просто загружать нейросетку репликами.
Я что, где-то писал, что уровень жизни пенсионеров должен быть такой же? Я писал о сопоставимом уровне. Например, средняя пенсия составляет 30–40% от средней зарплаты, и это соотношение не зависит от экономического развития страны.
К тому же, ещё есть рента, за счёт которой пенсионеры могут зарабатывать. Как думаете, почему жильё и аренда опережающими темпами растёт именно в странах с низкой рождаемостью? Хотя по логике: меньше народу, больше свободного жилья, оно должно дешеветь.
Деньги — это просто способ распределения производимых обществом благ и услуг. Если в результате автоматизации суммарный ВВП увеличивается, то отсутствие денег у конечных потребителей — это вопрос справедливости распределения благ и услуг.
Это сегодня дата-центр, а через 10 лет — небольшой сервачок.
Закон Мура всё ещё продолжает работать. Пишут, что уже через 10 лет производительность компьютеров сравнится с потенциалом человеческого мозга. Появление всё более совершенных моделей — вопрос времени.
Если они целиком влезают в кэш, то уже можно обрабатывать линейным алгоритмом, предусматривающим случайный доступ. Если не влезают в кэш, то дробить дальше.
Типа того, да. Вот только, во-первых, сливать данные не нужно. А во-вторых, всё зависит от объёма данных и технических характеристик железа.
Если константа у алгоритма O(N) из-за случайного доступа больше, чем у O(N log N), где log N — это совсем небольшое значение (2-3), то алгоритм с O(N log N) будет быстрее. А если массив ещё в память не влезает, то выбор однозначно становится в пользу последнего.
Сорри, накосячил в плане терминологии. Понятие "число кэш-линий" стоит читать как "cache associativity". Короче, моя идея сводится к тому, что благодаря ассоциативности кэша мы можем одновременно читать и писать несколько потоков данных. По каком принципу формировать эти потоки данных, значения не имеет. Важно, чтобы одинаковые числа попадали в один поток.
Можно организовать массив в виде хэш-таблицы, где число бакетов равно числу кэш-линий минус одна. В итоге у нас получается одна очередь линейного чтения и N-1 очередей линейной записи. Дальше обрабатываем бакеты по очереди. Если бакет целиком влезает в кэш, то используем наивный алгоритм. Если не влазит, то дробим дальше. Правда, такой алгоритм будет плохо работать, если один и тот же элемент будет повторяться очень много раз.
Мне в этом плане нравится C#, где ключевое слово
refнадо указывать и в сигнатуре функции, и при её вызове.Конечно. Например, сортировка кучей. O(1) дополнительной памяти.
Как раз опыт C++ здесь может сильно мешать. Например, в STL используется довольно своеобразный способ работы с коллекциями и итераторами, имеющий мало общего с C#/Java/Kotlin/Python.
Не надо начинать с C++. Это один из самых сложных языков в мире, который практически никто не знает на 100%, и который требует обширного багажа предварительных знаний и нескольких лет для изучения.
В случае нейронных сетей некоторым аналогом кратковременной памяти могут выступать значения на промежуточных слоях в рекурретных моделях. Но долговременная память (веса слоёв) остаются неизменными.
На нынешнем этапе развития процесс обучения (оптимизация весов — формирование памяти) и процесс инференса (собственно работа нейросети) разнесены. Некоторые модели нейронных сетей позволяют делать дообучение со сравнительно небольшими вычислительными затратами. Но об обучении нейронной сети в процессе эксплуатации речи пока не идёт.
От того, что вы объявили алиас, указатель не перестал быть указателем.
Python, как это ни странно, тоже строго типизированный язык. Просто типизация динамическая, а не статическая, и нет прямого доступа к памяти.
Именно поэтому я и написал, что передача делается явно через указатели.
Я теперь понимаю, почему язык C для начинающих подходит лучше, чем Паскаль:
Индикацией эта клавиша хороша. Можно видеть текущий язык, не глядя на экран.
Я на него Push-to-Talk обычно вешаю.
Ну тогда надо строить идиократию.
Ничто. Закон Мура продолжает работать. Ожидается, что через 10 лет мощность компьютеров достигнет вычислительных возможностей мозга. 8 миллионов реплик — это много, но вот держать контекст в несколько тысяч через 10 лет будет вполне реально. А ещё через 10 лет счёт пойдёт на миллионы реплик. Вместо найма кожаных мешков можно будет просто загружать нейросетку репликами.
Я что, где-то писал, что уровень жизни пенсионеров должен быть такой же? Я писал о сопоставимом уровне. Например, средняя пенсия составляет 30–40% от средней зарплаты, и это соотношение не зависит от экономического развития страны.
К тому же, ещё есть рента, за счёт которой пенсионеры могут зарабатывать. Как думаете, почему жильё и аренда опережающими темпами растёт именно в странах с низкой рождаемостью? Хотя по логике: меньше народу, больше свободного жилья, оно должно дешеветь.