Что делать если нужно поставить какую-то Python-библиотеку а root-прав нет? То есть в систему библиотеку никак и ничего не поставить.
Есть как минимум два способа это решить правильно!
🔸 Сделать виртуальное окружение и ставить там что угодно.
Это позволит создать полностью независимое исполняемое окружение для ваших приложений.
Все библиотеки будут храниться в домашней директории юзера а значит доступ на запись имеется.
Создать очень просто:
python3 -m venv ~/venvs/myenvname
Теперь активируем окружение
# Linux
source ~/venvs/myenvname/bin/activate
# Windows
%userprofile%\venvs\myenvname\Scripts\activate.bat
Можно ставить любые библиотеки и запускать приложение.
Это стандартный метод работы с любым проектом. Если еще не используете его, то пора начинать. Даже при наличии root доступа!
🔸 Бывает, что нет возможности запустить приложение из своего виртуального окружения. Например, его запускает какой-то сервис от вашего юзера и вставить активацию окружения вы не можете.
В этом случае можно установить библиотеки для Python не глобально в систему, а только для юзера.
Выполните этот код в консоли:
python3 -m site
Вы получите что-то такое:
sys.path = [
'/home/user',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/user/.local/lib/python3.7/site-packages',
...
]
USER_BASE: '/home/user/.local'
USER_SITE: '/home/user/.local/lib/python3.7/site-packages'
ENABLE_USER_SITE: True
Нас интересует параметр USER_SITE. Это путь к пользовательским библиотекам, которые доступны по умолчанию, если они есть.
Именно сюда будут устанавливаться модули если добавить флаг --user при установке чего-либо через pip
pip install --user requests
Для этой команды не нужны root-права.
После неё можно запускать системный интерпретатор без виртуальных окружений и установленная библиотека будет доступна для текущего юзера.
Параметр USER_BASE показывает корневую директорию для хранения user-библиотек. Её можно изменить с помощью переменной окружения PYTHONUSERBASE
export PYTHONUSERBASE=~/pylibs
python3 -m site
...
USER_BASE: '/home/user/pylibs'
USER_SITE: '/home/user/pylibs/lib/python3.7/site-packages'
Получается некоторое подобие виртуального окружения для бедных 😁 которое можно менять через эту переменную (не делайте так!Лучше venv!)
🔸 Дописывание пути в PYTHONPATH
Этот способ не входит в список "двух правильных", но тоже рабочий. Здесь придётся сделать всё несколько сложней.
Сначала ставим библиотеку в любое место указывая путь установки
pip3 install -t ~/mylibs modulename
Библиотека установится без привязки к какому-либо интерпретатору. То есть по умолчанию не будет видна. Теперь в нужный момент добавляем этот путь в sys.path или в PYTHONPATH.
Не буду советовать так делать. Единственный раз когда этот способ мне пригодился и решил поставленную задачу, это при создании общей библиотеки для кластера компьютеров.
Модули лежат в сети и подгружаются для всех из одного и того же места. То есть обновлять файлы требуется только один раз а не на всех хосты отдельно.
Минусы такого подхода:
▫️Нужно всем хостам пробить нужный путь в .bashrc или ещё куда-то чтобы он сетапился на старте.
▫️Чем больше хостов тем больше нагрузка на сеть. Иногда такой способ не подходит именно по этой причине. Тогда Ansible вам в помощь.
▫️Не очень подходит если хосты с разными операционками. Некоторые библиотеки различаются для Linux и Windows (там, где есть бинарники) и приходится мудрить более сложные схемы.
#tricks#basic
🔎 Группа британских ученых создала ИИ-алгоритм для автоматической обработки и извлечения огромных объемов информации из различных документов.
Система анализирует содержание и структуру счет-фактур, налоговых форм и других цифровых данных, а затем сортирует их по категориям.
🗣 По словам исследователей, технология упростит открытие банковских счетов, утверждение ипотечных кредитов, ответы на запросы клиентов и обработку страховых требований, ускорив проверку на мошенничество и извлечение сведений из удостоверяющих личность документов.
#NLP
🗣 Компания Veritone запустила платформу Marvel.AI для клонирования голоса знаменитостей.
По словам разработчиков, любой желающий может создать цифровую копию своего голоса и выставить ее на продажу. Затем образцы речи можно использовать для озвучивания новостей, рекламных роликов и другого контента.
💿 Также платформа может оцифровывать голоса умерших людей. Для этого ей необходимо предоставить их архивные голосовые записи.
#NLP
A team of ex-OpenAI fellows at Together have released a 20B chat-GPT model, fine-tuned for chat using EleutherAI's GPT-NeoX-20B, with over 43 million instructions under the Apache-2.0 license.
https://github.com/togethercomputer/OpenChatKit
https://www.together.xyz/blog/openchatkit
#nlp
Haystack
• Ask questions in natural language and find granular answers in your documents.
• Perform semantic search and retrieve documents according to meaning, not keywords.
• Use off-the-shelf models or fine-tune them to your domain.
• Use user feedback to evaluate, benchmark, and continuously improve your live models.
• Leverage existing knowledge bases and better handle the long tail of queries that chatbots receive.
• Automate processes by automatically applying a list of questions to new documents and using the extracted answers.
https://github.com/deepset-ai/haystack
#nlp
#nlp#news
Опасный ИИ –– OpenAI создала генератор текстов, который работает слишком хорошо
Алгоритм GPT-2, натренированный на 40 гигабайтах текстов из интернета, научился писать осмысленные тексты. Он предсказывает каждое следующее слово, подходящее по стилю и содержанию. OpenAI решила не выкладывать в открытый доступ полноценный программный код, полагая, что алгоритм может быть опасным, что сильно расстроило сообщество, ведь компания создавалась именно на принципах полной открытости полученных результатов.
Почему важно: В 2015 году лаборатория, основанная Илоном Маском, зарядилась альтруистической целью –– создавать ИИ на благо человечества. Но это было 4 года назад, а сейчас OpenAI побоялась выкладывать свою разработку в открытый доступ. Уж слишком высока вероятность, что ИИ быстро переманят на сторону зла и будут использовать для генерации фейковых новостей и спама. OpenAI создали мощного противника человечества в Dota 2, теперь –– идеального писателя, которому не нужно вдохновение.
Эта новость –– отличный повод поговорить о NLP (направление ML по обработке текста) и его ключевых проблемах. Даже самые огромные бюджеты, которые компании тратят на попытки автоматизации службы поддержки и ответы в чатах пользователям, упираются в число 30%. Это средний объем автоматизации сообщений, выше которого прыгнуть сложно, даже внутри одного маленького домена тем. NLP ждет какого-то фундаментального открытия, которое позволит перейти от статистических методов к полноценному deep learning подходу. Возможно алгоритм GPT-2 поможет сдвинуть NLP с текущей мертвой точки.
🗣Googleподелилась прогрессом в создании Universal Speech Model (USM), поддерживающей 1000 различных языков.
По данным разработчиков, модель имеет 2 млрд параметров. Ее обучили на 12 млн часов речи и 28 млрд предложений.
🌐 На сегодня USM поддерживает более 100 языков. Модель уже используют в YouTube для автоматического создания субтитров.
#Google#NLP
🗣Googleразработала систему голосовой идентификации Speaker ID для колл-центров.
При первом взаимодействии абонента с ИИ, сервис предложит ему зарегистрироваться и предоставить образец речи. Система не требует специального текста или пароля — после верификации она определит звонящего по трехсекундному фрагменту голоса.
⚙️ Speaker ID является частью платформы Contact Center AI.
#Google#NLP
🗣 Китайские разработчики представили языковую модель WuDao 2.0. По их словам, она превосходит аналогичные технологии Google и OpenAI
WuDao 2.0 использует 1,75 трлн параметров для имитации разговорной речи, написания текстов и понимания изображений. Она работает с китайским и английским языками благодаря изучению 4,9 терабайт различных данных.
Разработчики заявили, что побили рекорд компании Google, которая в январе 2021 года представила Switch Transformer с 1,6 трлн параметров. До этого крупнейшей языковой моделью была OpenAI GPT-3 со 175 млрд параметров.
🤝 Исследователи также сообщили, что уже нашли 22 партнеров, в числе которых производитель смартфонов Xiaomi, служба доставки Meituan и платформа для обмена короткими видео Kuaishou.
#Китай#NLP
💬Alexa AIпредставила многоязычную нейросеть-трансформер AlexaTM с 20 млрд параметров. Модель способна изучать новые задачи по нескольким примерам и переводить их без вмешательства человека.
Алгоритм основан на архитектуре кодер-декодер. Для тренировки нейросети исследователи использовали комбинацию задач шумоподавления и каузально-языкового моделирования.
☝️ По данным разработчиков, AlexaTM превосходит аналоги в выполнении задач обобщения и машинного перевода, а углеродный след при ее тренировке составляет всего пятую часть от выбросов при обучении GPT-3.
#Amazon#NLP