Не сказал бы, что сильно продвигается: если Вы зайдёте в r/LocalLLaMA, то там добрая доля людей будет говорить "используй llama.cpp, а ollama - мусор" или что-то в этом духе. Но вот если начать искать статьи в интернете, то там всё печальнее в этом плане.
Я в целом надеюсь, что будет существовать массовый простой в освоении настольный линукс и останется гиковкий линукс. Причём плюсы будут иметь оба лагеря, так как из гиковского лагеря будут перетекать разные свободные утилиты и программы, а за счёт наличия большой пользовательской базы обычного сегмента в экосистему начнут вкладываться (хотя бы проприетарщиной) массовые разработчики: а это игры, специальный софт (редакторы фото/видео/музыки, системы проектирования и прочее) из-за отсутствия которых обычный пользователь и не идёт из привычной системы в новую, пусть даже эта привычная система на ладан дышит.
Вам тоже спасибо, отвлёкся немного от монотонной работы.
Очень странная статья. Экосистема GNU/Linux тем и хороша, что это конструктор: настраивай текущие компоненты, используй другие компоненты, пиши свои. Хочешь, используй Gentoo/Linux from Scratch со своими особенностями. Хочешь - NixOs со своими особенностями. Можешь использовать классический дистрибутив вроде Arch, Debian и прочих. Хочешь, сам себе собери дистрибутив, в конце концов. Вот только это всё для гиков и подобных людей, которым интересна сама система и копошение в ней, оптимизация всего и вся.
Но для среднестатистического пользователя ЭТО НЕ НАДО. Среднестатистический пользователь хочет, чтобы всё просто работало и везде были кнопки уровня “сделай хорошо” или вообще даже ничего нажимать не надо, а оно само. Посмотрите на “мобильный Linux” в виде Android - там даже многозадачность и исполнение приложений не контролируется пользователем на 100%: всем этим заведует система. Уверен, в Ios такая же ситуация.
Когда говорят об упрощении взаимодействия с GNU/Linux, то подразумевают именно это, а гики и прочие заинтересованные люди найдут, как себе жизнь упростить/разнообразить.
Скрытый текст
Ну и давайте приведу пример в сфере инференса нейросетей:
Вот существует llama.cpp с активным развитием, быстрым инференсом и всякими разными наворотами, его несколько отстающий форк с большей настройкой и оптимизацией под cpu ik-llama.cpp.
А есть ollama. Ollama медленый и с точки зрения инференса, и с точки зрения поддержки чего-то нового, использует странную систему хранения моделей (хотя под капотом там тот же gguf) и прочее. Но им всё ещё активно пользуются.
Почему? Потому что настраивать ничего не надо, модели скачиваются из их репозитория и обновляются оттуда же (не надо вручную шерстить по всяким hugginface). Это то самое "сделай хорошо", которого у llama.cpp нет.
Интересно, каким же образом они со мной не согласятся?
Во-первых, речь шла о переменных, а не о функциях, у функций отличается цикл жизни.
Во-вторых, Функции анонимными называются, потому что при их объявлении им не присваивается имя в явном виде, а чтобы их вызвать - нужно знать область памяти, в которой они располагаются... то есть знать их имя. Они либо вызываются сразу (автоматика сама всё сделает за Вас и, по сути, это не отличается от помещения части кода во вложенные {}), либо для позднего использования вручную именовать их, присваивая их адреса в памяти к ссылочным переменным. IIFE - это как раз первый случай, где именование функции происходит автоматически движком JS с последующим исполнением на месте. В языках с сборщиком мусора в рантайме вообще ничего неименованного нет, иначе сборщик мусора не смог бы исполнять свою работу.
Если у вас функция вызывается рекурсивно 10 раз, её локальная переменная одна или их 10?
10, если нет передачи указателей/ссылок.
А если два имени ссылаются на одну ячейку памяти?
Два указателя ссылаются на один сегмент памяти. Вроде, обычная вещь.
А может ли быть переменная без имени?
А это называется утечка памяти.
Надеюсь, тест прошёл)
Вообще, всегда думал, что отсутствие явного использования ссылок и указателей идёт рука об руку с отсутствием явной типизации (прескорбно, но второе не гарантирует первого), а тут такое исключение из правил. Будем знать.
Не сказал бы, что сильно продвигается: если Вы зайдёте в r/LocalLLaMA, то там добрая доля людей будет говорить "используй llama.cpp, а ollama - мусор" или что-то в этом духе. Но вот если начать искать статьи в интернете, то там всё печальнее в этом плане.
Я в целом надеюсь, что будет существовать массовый простой в освоении настольный линукс и останется гиковкий линукс.
Причём плюсы будут иметь оба лагеря, так как из гиковского лагеря будут перетекать разные свободные утилиты и программы, а за счёт наличия большой пользовательской базы обычного сегмента в экосистему начнут вкладываться (хотя бы проприетарщиной) массовые разработчики: а это игры, специальный софт (редакторы фото/видео/музыки, системы проектирования и прочее) из-за отсутствия которых обычный пользователь и не идёт из привычной системы в новую, пусть даже эта привычная система на ладан дышит.
Вам тоже спасибо, отвлёкся немного от монотонной работы.
Очень странная статья. Экосистема GNU/Linux тем и хороша, что это конструктор: настраивай текущие компоненты, используй другие компоненты, пиши свои. Хочешь, используй Gentoo/Linux from Scratch со своими особенностями. Хочешь - NixOs со своими особенностями. Можешь использовать классический дистрибутив вроде Arch, Debian и прочих. Хочешь, сам себе собери дистрибутив, в конце концов. Вот только это всё для гиков и подобных людей, которым интересна сама система и копошение в ней, оптимизация всего и вся.
Но для среднестатистического пользователя ЭТО НЕ НАДО. Среднестатистический пользователь хочет, чтобы всё просто работало и везде были кнопки уровня “сделай хорошо” или вообще даже ничего нажимать не надо, а оно само. Посмотрите на “мобильный Linux” в виде Android - там даже многозадачность и исполнение приложений не контролируется пользователем на 100%: всем этим заведует система. Уверен, в Ios такая же ситуация.
Когда говорят об упрощении взаимодействия с GNU/Linux, то подразумевают именно это, а гики и прочие заинтересованные люди найдут, как себе жизнь упростить/разнообразить.
Скрытый текст
Ну и давайте приведу пример в сфере инференса нейросетей:
Вот существует llama.cpp с активным развитием, быстрым инференсом и всякими разными наворотами, его несколько отстающий форк с большей настройкой и оптимизацией под cpu ik-llama.cpp.
А есть ollama. Ollama медленый и с точки зрения инференса, и с точки зрения поддержки чего-то нового, использует странную систему хранения моделей (хотя под капотом там тот же gguf) и прочее. Но им всё ещё активно пользуются.
Почему? Потому что настраивать ничего не надо, модели скачиваются из их репозитория и обновляются оттуда же (не надо вручную шерстить по всяким hugginface). Это то самое "сделай хорошо", которого у llama.cpp нет.
Интересно, каким же образом они со мной не согласятся?
Во-первых, речь шла о переменных, а не о функциях, у функций отличается цикл жизни.
Во-вторых, Функции анонимными называются, потому что при их объявлении им не присваивается имя в явном виде, а чтобы их вызвать - нужно знать область памяти, в которой они располагаются... то есть знать их имя.
Они либо вызываются сразу (автоматика сама всё сделает за Вас и, по сути, это не отличается от помещения части кода во вложенные {}), либо для позднего использования вручную именовать их, присваивая их адреса в памяти к ссылочным переменным.
IIFE - это как раз первый случай, где именование функции происходит автоматически движком JS с последующим исполнением на месте.
В языках с сборщиком мусора в рантайме вообще ничего неименованного нет, иначе сборщик мусора не смог бы исполнять свою работу.
10, если нет передачи указателей/ссылок.
Два указателя ссылаются на один сегмент памяти. Вроде, обычная вещь.
А это называется утечка памяти.
Надеюсь, тест прошёл)
Вообще, всегда думал, что отсутствие явного использования ссылок и указателей идёт рука об руку с отсутствием явной типизации (прескорбно, но второе не гарантирует первого), а тут такое исключение из правил. Будем знать.