Задать вопрос
  • На каком виртуальном сервере процессор мощнее?

    @rPman
    Во первых, виртуальные серверы не подходят для числодробилок (исключение - использование GPU или других сопроцессоров типа FPGA, там обычно они делятся по честному), потому что физический сервер будет разделен между несколькими пользователями, и даже если ты наберешь тарифным планом максимальное количество процессоров/ядер, часть ресурсов (для серверных - 3-5%, а для десктопных железок до 10-30% в очень специфических случаях) будут тратиться на обслуживание виртуализации.

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

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

    Поэтому правильный ответ - процессор мощнее на физическом железе (bare metall) без виртуализации. При необходимости, для своих нужд, ты сможешь на нем запустить систему виртуализации (или лучше паравиртуализации).

    p.s. тебе верно советуют, не смотреть на гигагерцы.
    Все очень зависит от того как и какая задача запускается. Оптимизация кода, выбор архитиктуры (например 32-битная на 64-битной будет работать по другому, где то хуже где то лучше), глобальные параметры (размеры буферов пакетной обработки, количество запущенных воркеров/потоков, настройки кеширования и тюнинг файловой системы ос или выбор конфигурации хранилища,..). Это вопрос исследования, и только эксперименты могут дать какой то адекватный ответ. Еще раз - тестируй на реальном железе.
    Ответ написан
    Комментировать
  • Нужно ли вынимать процессор из сокета при прошивке БИОС программатором?

    @rPman
    Питание на процессор подается только после очень сложного многоступенчатого процесса проверки, поэтому ничего с ним не случится.

    Но, возможна ситуация, когда контакт программатора слетел и подал питание не туда, в этом случае существует вероятность что-нибудь сломать, и не только процессор но и какой-либо другой чип на плате (там есть компоненты с требованиям к питанию 3v).
    Ответ написан
    Комментировать
  • Можно ли поставить SSD SATA III в старую материнку?

    @rPman
    Да, 2 из 5 портов поддерживают 6Gb скорости, какие именно - читать в мануале.

    sata III обратно совместимы, т.е. можно вставлять быстрые устройства в медленные порты и все будет работать на той скорости что обеспечивает порт.

    И нужно понимать, что ограничения скорости интерфейса обычно значительно выше скоростей самого устройства, т.е. даже если вы вставите ssd sata в старый порт sata I, работающий на 1.5мбит, то чтение с диска будет 150мбайт/с, и таких скоростей дешевые устройства тупо не смогут выдать (максимум из кеша, что в контексте задачи пользователь не заметит)
    Ответ написан
    Комментировать
  • [ВОПРОС РЕШЕН] Как сделать так чтобы можно было выбирать загружаемую систему?

    @rPman
    За загрузку linux обычно отвечает grub (можно и без него, например uefi умеет, но не советую новичкам туда лезть).
    В зависимости от выбранного типа загрузки в bios - legacy mbr или efi, настройки соответственно разнятся.

    1. в mbr режиме на диске должен быть записан загрузчик (он размещается в dos разделах, в бут секторе и последующих за ним секторах, в gpt разделах для загрузчика выделяют соответствующий раздел 1мб. biosboot)
    2. в efi режиме загрузчик записывается в efi boot раздел, можно использовать тот же раздел что и у windows (тогда загрузкой будет он заведовать, не рекомендую новичкам) либо создать второй efoboot раздел на втором диске, и при загрузке выбирать в биосе второй диск как загрузочный
    Это я написал к тому, чтобы в зависимости от типа загрузки, на втором диске должны быть соответствующие разделы (biosboot или efiboot)

    В обоих случаях все за пользователя делает grub-install /dev/sdX где sdX имя диска (sda - первый, sdb - второй,... советую внимательно проверять, потому как порядок может отличаться от того что в windows). Но для этого нужно загрузиться в linux, если же загрузка прооисходит с livrcd/liveusb загрузочного носителя, то тогда команда будет grub-install /dev/sdX --root-directory=/mnt где /mnt это каталог, в который необходимо смонтировать вручную установленный на втором диске linux (если к примеру там два раздела / и /boot то их нужно смонтировать соответственно в /mnt/ и /mnt/boot). grub автоматически найдет efi раздел и смонтирует его, мало того он автоматически найдет windows и добавит его в grub menu чтобы из linux загрузчика можно было бы загрузить windows... Если возникнет путаница и grub найдет виндовый efi, то можно смонтировать его вручную перед запуском grub-setup
    Ответ написан
    2 комментария
  • Как сделать чтобы приложение для win ce открывалось на весь экран?

    @rPman
    Явно причина в неправильном закрытии explorer. Его автозапуск нужно убирать из реестра, заменой шела на ваше приложение.
    https://developer.toradex.com/windows-ce/knowledge...

    Путь указывать полный

    p.s. еще если это WinForm то у формы можно задать TopMost свойство true, но надо экспериментировать.
    Ответ написан
    Комментировать
  • Есть ли оптимальный способ получения смс с +-50 сим-карт одновременно?

    @rPman
    Самодельный gsm шлюз, модули есть готовые к той же малинке, а там либо переключатель запилить либо ещё как.

    Вторая альтернатива закупить БУ смартфоны на android, это проще но возни много со старым железом
    Ответ написан
    Комментировать
  • Как запустить AI-модель с Hugging Face?

    @rPman
    Выбираешь модель, в описании ищешь code examples или documentation, вот тупо первая же модель по твоей ссылке naver-clova-ix/donut-base-finetuned-docvqa и тут же по ссылке пример кода использования

    Обычно код, который выкладывают на huggingface заточен на его же использование, все максимально автоматизировано, при первом запуске будет скачана модель, и вся возня - это установка необходимых python зависимостей.

    Если модель небольшая, считанные миллиарды параметров, то она будет без особых проблем запускаться на процессоре, если больше, то рекомендуется gpu от nvidia (с некоторыми не самыми слабыми amd реально но будет много возни).

    Требования к RAM обычно 2х-4х от размера модели в параметрах (т.е. 7B будет требовать порядка 14Gb-24Gb ram), но в некоторых случаях есть методы квантизации (например gpt квантизуют с помощью bitsanbytes) в этом случае требования к ram падают до количества параметров (т.е. 7Gb-9Gb для 7B модели)

    p.s. если повезет, возможно выбранная тобой модель может быть запущена с помощью llama.cpp (там и мультимодальные VA модели уже запускают), с ней есть шанс разместить часть весов в GPU а не все, т.е. это имеет смысл если оперативной памяти gpu чуть чуть не хватает.
    Ответ написан
    Комментировать
  • Безопасно ли единоразово скопировать большой объём данных с жёсткого диска в память телефона?

    @rPman
    нет

    но у xiaomi дешевых очень маленькое качество внутреннего накопителя, 3-4 полных объемов записал (какраз 2-3 года использования) и скорость падает драматически

    напоминаю, ssd диски неправильно использовать для хранения данных!
    Ответ написан
    Комментировать
  • Запуск Minecraft (1.12.2 Forge OptiFine из TLauncher) из консоли/командной строки/shell и т.д?

    @rPman
    Не понимаю, почему нужно брать именно из TLauncher?

    minecraft forge распространяется в виде установщика, который берет оригинальную версию jar-файла и модифицирует ее, как минимум это было до 1.12 версии (после майкрософт все купило и сломало).

    Сами моды tlauncher берет с curseforge (там есть соответствующий api, им пользуется и официальный лянчер), на сколько я знаю есть какие то особенности реализации.

    А дальше все просто, моды складываем в каталог mods

    p.s. с легальной точки зрения есть какие то ограничения по самостоятельному распространению файлов, даже для 1.12 версии до того как майкрософт сломало лицензию, нужно было пользоваться официальными средствами дистрибуции.

    upd. весело, все публичные ссылки на загрузку оригинального .jar файла исчезли, спасибо майкрософту
    Ответ написан
  • Есть ли какие-то подводные камни в замене дистрибутива linux с сохранением хомяка?

    @rPman
    И да и нет.

    Помним, что по всем заветам windows, python зависимости, устанавливаемые с помощью pip или в какие-нибудь питон-песочницы, складываются в пользовательский каталог, и работа всего этого хлама никак не гарантируется даже в пределах одного дистрибутива (достаточно установить пару приложений с противоричивыми зависимостями) а уж при смене версий системных библиотек и подавно.

    Если происходит смена версии дистрибутива с версиями компонент равными или новее тех, что использовались, то проблем быть не должно, приложения при запуске должны понимать что происходит обновление и умеют работать со старыми версиями (кстати все зависит от разработчиков этих компонент, возможны пределы разницы версий, когда ну очень старый конфиг может быть неверно понят, но чаще проигнорирован, новым приложением).

    Я бы не надеялся что все произойдет 'как по маслу' и главное, остается огромное количество мусора в .cache, .local и т.п. там и так гигабайтами все копится и копится. Я буквально недавно переносил конфиги руками, сделав резервную копию каталога и создав новый профиль... там много всякого лишнего, и удаляемые приложения за собой ничего не чистят.
    Ответ написан
    2 комментария
  • Как отладить браузерное приложение для PocketBook на компьютере?

    @rPman
    На сколько я знаю там android, но версия и соответственно софт зависит от модели.

    Чтобы разобраться, рекомендую найти прошивку под конкретную версию и как минимум расковырять ее, найдя apk браузера и определив его версию, так же можно попытаться его запустить в эмуляторе но это хардкор скорее всего не получится по простому.

    А падает, потому что версия ос и браузера очень старые, не поддерживают каких-то фич, которые твой код использует. В качестве примера, найди какой-нибудь android4 планшетник или эмулятор запусти из того же android sdk и попробуй свою программу там запустить
    Ответ написан
    Комментировать
  • Можно ли находясь в России продавать ассеты в Unity Asset Store?

    @rPman
    Обычно проблема не в момент продажи, тут все ок, а в момент вывода денег.
    p.s. ну и конечно могут забанить по ip
    те кто по серьезнее, пишут о запрете в момент регистрации и указания информации о себе
    Ответ написан
    Комментировать
  • Можно ли с ChatGPT создать отчеты и графики на основе GoogleSheets?

    @rPman
    Ищи плагины к chatgpt, не удивлюсь если кто то такой сделал и для табличных процессоров. Напоминаю что chatgpt это не просто gpt, это сложный продукт и пользоваться им не просто.

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

    p.s. я пользовался сторонними площадками типа coze, там и плагины и gpt4... ничего красивого и хорошего с теми же графиками там не получилось
    Ответ написан
    Комментировать
  • Можно ли заставить LLama2 выполнять действия?

    @rPman
    И нет и, может быть, да. Помимо llama существует лучше модели, например mistral и основанные на нем типа openchat35 или лучше mixtral (он неожиданно умный и скорости как 7b) или или еще лучше от databrix (по скорости как llama30b).

    У разработчиков языковых моделей например есть chat версии, есть instruct, а есть base. Общий смысл каждой определяется тем, на какое именно использование их заточили. Например instruct позволяет описывать инструкции на естественном языке и главное получать ответ тоже на естественном языке, со всеми вытекающими от сюда неудобствами (api предполагает стандартизацию форматов вывода). chat ожидает что с ним будут общаться в формате user: xxx, ну а base модели изначально работают только как completion, и их обычно дообучают до своих форматов и наборов знаний.

    Кстати, к примеру модели, которые обучали программированию (а это почти все, ищи в бенчмарках HumanEval, потому что openai говорили что именно с этого начинали свою модель обучать и это очень было ей полезно), можно буквально попросить давать ответ в виде json, описав в промпте его формат и оно будет пытаться это делать, точно помню что прбовали за основу взять принцип - модель генерирует готовую программу, решающую вашу задачу, бакэнд ее запускает и выдает ответ и так на каждый запрос. Но чем глупее и проще модель, тем с большей вероятностью она будет отходить от строгого формата, а значит бакэнд приложение, которое будет обслуживать уже твой api должно ожидать эти расхождения и обрабатывать их не как ошибка (например лишнее текстовое описание типа "вот вам ответ в формате json: ...".

    Так как llm это посимвольная (по токенам точнее) генерация ответа, на каждом из них, в момент когда происходит выбор следующего токена, можно вставить свой алгоритм, ограничивающий доступный список своими, по своему правилу. Например можно описать регулярное выражение, которое будет применяться к сгенерированному тексту плюс выбираемый токен и если оно не подходит, отказывать в выборе этого токена. Например какая то реализация этого есть в llama.cpp ищи grammar, это ключ у api вызова к server.

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

    Есть общепринятые лайфхаки, повышающие качество ответа. Это добавление примеров (вопрос+ответ+вопрос+ответ+вопрос+...) т.е. one-shot/multi-shot, именно так слабые модели могут встать по бенчмаркам с zero-shot у сильных моделей, без примеров. Или попросить в запросе модель поразмышлять (think step by step), надавить на эмоции (найти ответ очень важно для меня, от этого зависит моя жизнь), ценой места в окне контекста. Еще есть подход, делать один и тот же запрос (или кстати слегка менять prompt) много раз, и сделать какой то механизм валидации ответа (например большая часть одних и тех же ответов считать верной) - как защита от галлюцинаций (был пример когда модель заставили миллион раз генерировать программу, запускать ее и проверять результат - так сделали реальное научное открытие)

    НО! Просто не будет.
    Ответ написан
    Комментировать
  • Есть ли способ восстановить перезаписанный, а не удаленный файл?

    @rPman
    за много много денег можно попытаться что то сделать, если ssd диск был обесточен как можно быстрее после удаления и отнесен в соответствующюу фирму.

    Там специалисты должны выпаять чипы памяти (или подключиться к ним с помощью специализированного железа и софта) и проанализировать их содержимое.

    Внутри ssd есть своя как бы файловая система, скорее всего похожая на cow, где каждая следующая запись пишется в новое место, даже если это один и тот же сектор с точки зрения пользователя (это нужно для равномерного распределения записей по ячейкам), значит можно раскрутить этот лог назад, если система не успела исполнить для этих участков trim. Но, к сожалению, записи происходят сразу по всему объему диска (современные чипы памяти это многоуровневые цепочки бит, запись которых происходит циклически, первые биты записываются быстро, последующие биты в цепочках - медленно, когда происходит запись, сначала контроллер пишет данные в каждые первые биты этих цепочек и запускает фоном процесс перераспределения, чтения записанных данных в первые биты и перезапись их в глубь каждой цепочки, это медленнее, как минимум именно так реализуют кеширование записи на дешевых пользовательских накопителях (а может и на всех). Именно поэтому примерно 20% свободного места на диске будут записаны на максимальной скорости а затем скорость упадет в десяток раз именно потому что свободных 'первых бит' не остается и контроллер ждет окончание перераспределения.

    p.s. напоминаю, что любые операции записи на этот диск уменьшают шансы восстановления данных, например если на этом диске хранится ОС и был ее запуск, или на этот же диск устанавливал приложения для восстановления данных.
    Ответ написан
    Комментировать
  • Утечёт ли заряд из SSD если его не включать полтора года?

    @rPman
    Если держать ssd в жарком месте (например, например в машине, на солнцепеке) то скорость деградации сильно увеличивается до месяца +-

    ssd не подходит для offline хранения данных, технологии требуют наличие питания хотя бы изредка, контроллер сам следит за перераспределением данных. Но! дешевые могут это делать только во время записи, что так же не способствует сохранению данных на долгосрок.
    Ответ написан
    Комментировать
  • Как создать виртуальную сеть на уровне IP?

    @rPman
    У virtualbox есть понятие internal network, когда внутренняя сеть никак в хост систему не выходит и остается внутри (можно создать несколько таких сетей), для подключения к этой сети одну из виртуальных машин в этой внутренней сети можно выбрать роутером, добавив ей интерфейс, связанный бриджем уже с хостовым.

    Про qemu. Сам я это не пробовал но если я верно понимаю, VDE это то что нужно (весь этот функционал плюс еще куча всего). Как я понимаю VDE в qemu уже включен. Например можно объединить снаружи виртуалки через сокет (ключи -unix control-socket и vde-plug [-p port] [socketname] ), в т.ч. с соседней на основе другой технологии (в документации речь идет про User Mode Linux)
    Ответ написан
    Комментировать
  • А можно как то запереть хром в каком то куске ОЗУ?

    @rPman
    Попробуй этот проект https://github.com/lowleveldesign/process-governor
    Ответ написан
    Комментировать
  • Может ли деградировать CPU/другое железо?

    @rPman
    Драйвера на видеокарту, причем если железо не новое, особенно времён майнинга, то ставит не самые последние версии, т.е. это вопрос исследования.

    Кстати, рекомендуется вообще драйвера обновлять, особенно на материнку, если лень искать самому, используй драйверпаки, с осторожностью, чтобы не установить лишнего хлама
    Ответ написан
  • Как работает виртуальная сеть?

    @rPman
    Два способа:
    1. сетевой мост/bridge
    на хост машине создается tap устройство - виртуальный сетевой адаптер, пакеты с которого которого принимает и отправляет приложение - гипервизор, все пакеты, отправленные на это устройство 'снаружи', будут продублированы как исходящие внутри виртуальной машины и наоборот
    Чтобы виртуальная машина получила доступ к внешней сети, необходимо этот виртуальный адаптер и реальный сетевой интерфейс хост машины объединить в бридж (ip адрес сети уже назначается этому мосту), это действие равнозначно подключению двух проводов ethernet (в данном случае второй - виртуальный) в простой сетевой коммутатор - свитч.
    Сетевой мост можно собрать из более чем двух сетевых адаптеров, например можно объединить сетевой адаптер виртуальной машины + настоящий сетевой адаптер + устройство vpn, и получится что все они объединены в одну локальную сеть.
    2. специальный драйвер, который симулирует прием и передачу пакетов прямо на выбранное сетевое устройство (так делает к примеру virtualbox на windows), в отличии от сетевого моста, так можно сделать только с одним устройством.
    3. на самом деле способов больше, у qemu можно соединить гостевое сетевое устройство с приложением на хост системе напрямую (не нужны драйвера), так же можно ни с чем не соединять, но можно пробросить порт снаружи внутрь гостевой (или соединить только с другой виртуальной машиной, получится приватная внутренняя сеть, к которой имеют доступ только виртуалки) и прочие странные конфиги.

    Если используется NAT то внутри гипервизора поднимается виртуальный роутер, доступа к которому у пользователя обычно нет, внешний сетевой интерфейс этого виртуального роутера так же по одному из вышеописанным способов подключается к хост системе.
    Ответ написан
    2 комментария