Взрывной лайфхак: Как я прямо сейчас бесплатно запускаю крутые языковые модели без единой видеокарты

The chat window in Jan.ai.

Kaggle — это площадка Google, где вы можете запускать и обучать практически любые ИИ-модели. Здесь бесплатно дают доступ к облачным вычислениям и современным GPU и TPU. Сейчас покажу, как без проблем использовать Kaggle для работы с открытыми языковыми моделями.

Что такое Kaggle и как это устроено

Как устроены Jupyter-ноутбуки и лимиты на видеокарты

Весь рабочий процесс на Kaggle строится вокруг Jupyter-ноутбуков — это такие отдельные онлайн-кабинеты для программирования. Для каждого ноутбука можно выбрать нужное «железо». Внутри – ячейки с кодом, которые запускаются по отдельности. В таких ноутбуках вы пишете Python так, будто работаете на своём компьютере — только мощности не сравнить. Создавать ноутбуки можно сколько угодно — ограничений нет.

Kaggle homepage

Для ноутбуков можно выбрать один из трёх вариантов ускорителей. Например, «GPU T4 x2» — это сразу два NVIDIA T4 по 16 ГБ видеопамяти каждая, то есть целых 32 ГБ. Есть и старый добрый P100 с 16 ГБ VRAM.

GPU quotas offered by Kaggle.

Поскольку все вычисления идут прямо в дата-центрах Google, скорость интернета поражает: 1–2 ГБайт/сек. Это сыграет на руку, если нужно скачать большую модель вроде тех, что лежат на HuggingFace. Иногда они занимают десятки гигабайт — тут скорость действительно имеет значение.

Ограничения особо не напрягают: Kaggle даёт 30 часов бесплатных вычислений на GPU в неделю. Одна сессия может идти до 12 часов подряд — затем просто перезапускаете ноутбук, если время ещё осталось. С CPU вовсе можно работать сколько угодно.

Что-то похожее есть у Google Colab: там тоже запускаем ноутбуки на T4, только лимиты плавают и могут внезапно закончить сессию. На Kaggle всё честно — отдельный счётчик времени, никаких неожиданностей.

Всё готовим заранее

Что понадобится для запуска

Зарегистрироваться на Kaggle можно за пару минут через почту или Google-аккаунт — пользоваться сможете сразу. Но чтобы включить GPU, потребуется подтвердить телефон.

Наша цель — запустить языковую модель прямо в kaggle-ноутбуке и управлять ею через любой чат-клиент с поддержкой внешних LLM, например, OpenWebUI. Все вычисления — на серверах Google, а вы просто общаетесь с моделью с любого своего устройства.

Обычно локально всё просто: подключаете фронтенд к адресу localhost. На Kaggle такое не сработает — ноутбук ведь живёт в облаке.

Но есть фокус: если встроить сервис ngrok прямо в ноутбук, получится специальная ссылка-мост между вашим фронтендом и сервером модели.

Copying the ngrok auth token.

Создайте аккаунт на сайте ngrok и скопируйте свой уникальный токен — он пригодится при подключении к серверу модели.

Конечно, на разных сайтах можно «пощупать» открытые LLM без хлопот с ноутбуками. Но Kaggle незаменим, если хотите, например, работать с “abliterated” LLM — это такие модели, которые не выдают отговорки стиля “Не могу выполнить этот запрос”, а отвечают вообще на всё.

К тому же, сессия на Kaggle длится до 12 часов без разрывов — этого с головой хватает для серьёзной тренировки модели. Можно использовать готовый ноутбук или собрать свой — под свои данные, а бесплатных датасетов на Kaggle целые коллекции, добавляются одним кликом мыши.

Создаём свой ноутбук

Настраиваем облако под себя

Поначалу интерфейс Kaggle может сбить с толку, но буквально через пару минут всё становится понятно. Жмите большую кнопку «New», выбирайте «Notebook» и дайте понятное имя, чтобы потом не потерять проект среди других. В разделе Settings > Accelerator выберите нужную видеокарту — мой вариант чаще всего T4 x2.

Turn on the GPU for this notebook.

В новом проекте по умолчанию уже есть пример кода на Python — его полностью заменяем своим скриптом.

Готовим ноутбук для запуска модели

Добавляем код и запускаем вашу LLM

Скопируйте этот код в первую ячейку.

Нажимайте “Play” рядом с ячейкой — через пару секунд среда будет готова к работе.

Теперь «+Code», создайте вторую ячейку и вставьте туда следующий код. Впишите свой токен ngrok вместо текста в кавычках — ссылка на него выше.

Запустите эту ячейку так же.

Теперь снова «+Code» — вставьте следующий блок в третью ячейку и снова жмите «Play».

В инструкции я использую Ollama как сервер LLM. Команда !ollama pull llama3.2 скачает и запустит свежую модель Llama от Meta. Список всех доступных моделей ищите на сайте Ollama — просто укажите нужное имя вместо llama3.2.

Запускайте эту ячейку.

Финальный шаг — получаем уникальную ссылку для подключения к Ollama. Выполните этот блок кода.

The entire notebook for running this LLM using Ollama on Kaggle.

В консоли появится ссылка (URL). Скопируйте её — она понадобится совсем скоро.

Запускаем LLM в вашем чате

Как подключаться к модели и общаться с ней

Вставьте скопированную ссылку в любое приложение для чатов, поддерживающее Ollama как сервер. Я, например, на Android использую приложение Ollama: заходите в настройки, находите поле Host и вставляете свою ссылку — должно появиться сообщение об успешном подключении. После этого сразу выбирайте модель и начинайте диалог.

На macOS очень удобен ChatWise. Откройте настройки, перейдите в Settings > Providers, выберите Ollama и вставьте полученную ссылку ngrok в поле API Base URL — список моделей появится автоматически. Можно тут же переписываться с LLM! Скорость генерации токенов на Kaggle действительно радует, особенно если работаете с моделями на 3–7 миллиардов параметров.

В Ollama доступны сотни моделей на выбор. И это далеко не предел: на Kaggle можно запускать не только Ollama, но и любые другие LLM и бэкенды — экспериментируйте, как хотите. А если вам не хочется возиться с кодом — попросите вашу любимую нейросеть собрать нужный ноутбук автоматически!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий