Uruchom polski model AI w chmurze AWS — Bielik 11B na Amazon Bedrock
Bielik 11B na Bedrocku — polski model AI jako serwis AWS, bez własnej infrastruktury GPU. Krok po kroku: od zero do działającego API w ~50 minut i ~$1.
📋 Spis treści
Amazon Bedrock — po co to komu?
Jeśli chcesz używać modeli językowych w swojej aplikacji lub infrastrukturze AWS, masz kilka opcji. Możesz postawić własny serwer z GPU, zarządzać nim, aktualizować sterowniki, skalować ręcznie i co miesiąc płacić za idle. Albo możesz użyć Amazon Bedrock.
Bedrock to w skrócie: zarządzany dostęp do modeli AI przez API, bez własnej infrastruktury. Nie kupujesz instancji GPU, nie instalujesz CUDA, nie zarządzasz kontenerami. Wysyłasz zapytanie, dostajesz odpowiedź, płacisz za to co faktycznie zużyłeś.
W katalogu Bedrock znajdziesz modele od Anthropic (Claude), Meta (Llama), Mistral i innych. Ale co jeśli chcesz użyć modelu spoza katalogu — własnego, dostosowanego, albo takiego którego AWS po prostu nie oferuje?
Tu wchodzi funkcja Custom Model Import — możliwość importu własnych wag modelu bezpośrednio do Bedrocka. Po imporcie model zachowuje się jak każdy inny w Bedrock: masz API, logi w CloudWatch, IAM do kontroli dostępu. Żadnej własnej infrastruktury.
Bielik — polski model, który naprawdę mówi po polsku
Większość dostępnych modeli językowych jest trenowana głównie na danych angielskojęzycznych. Rozumieją polski, ale traktują go jako język drugiej kategorii — odpowiedzi bywają poprawne, ale brak w nich naturalności, kontekstu kulturowego i precyzji której oczekujemy w języku ojczystym.
Bielik to model językowy tworzony przez polską społeczność SpeakLeash — w całości na polskich danych, przez Polaków, dla Polaków. Wersja której używamy — Bielik-11B-v3.0-Instruct — to model 11 miliardów parametrów zoptymalizowany do zadań instruktażowych: odpowiadania na pytania, pisania, analizy tekstu.
Dlaczego akurat Bielik:
- trenowany na polskim — rozumie niuanse języka, idiomy, kontekst kulturowy
- 11B parametrów — dobry balans między jakością a kosztem inference
- licencja Apache 2.0 — możesz użyć komercyjnie, bez opłat licencyjnych
- open source — wagi dostępne na HuggingFace, pełna transparentność
Połączenie Bielika z Bedrockiem daje coś konkretnego: polski model AI jako serwis AWS, dostępny przez standardowe API, z pełną integracją z resztą infrastruktury.
Instalacja — krok po kroku
Cały proces zajmuje ~35–55 minut i nie wymaga instalowania czegokolwiek lokalnie. Poniżej każdy krok z wyjaśnieniem dlaczego tak, a nie inaczej.
Co potrzebujesz
- Konto AWS z uprawnieniami do:
CloudFormation,S3,IAM,CodeBuild,Bedrock,SSM - Konto na HuggingFace (darmowe)
- Obsługiwany region:
eu-central-1,us-east-1,us-east-2lubus-west-2
Krok 1 — Zaakceptuj warunki modelu na HuggingFace
Model Bielik jest gated — wymaga jednorazowej akceptacji warunków zanim cokolwiek pobierzesz.
👉 https://huggingface.co/speakleash/Bielik-11B-v3.0-Instruct
Kliknij “Agree and access repository”. Bez tego kroku nawet poprawny token HuggingFace nie wystarczy — pobieranie skończy się błędem 403.
Krok 2 — Wygeneruj token HuggingFace
Token z uprawnieniem read potrzebny jest do pobrania plików modelu.
👉 https://huggingface.co/settings/tokens
“New token” → typ: read → skopiuj. Token zaczyna się od hf_.
Krok 3 — Otwórz AWS CloudShell i uruchom deploy
Otwórz AWS CloudShell i wklej:
bash <(curl -fsSL https://raw.githubusercontent.com/donkoyote/bielik-bedrock-import/main/deploy.sh)
Skrypt zapyta o token — resztą zajmie się sam.
Dlaczego CloudShell?
CloudShell to terminal w przeglądarce z wbudowanym AWS CLI, Pythonem i credentialami konta. Nie instalujesz nic lokalnie, nie konfigurujesz aws configure. Otwierasz, wklejasz, działa.
Co robi skrypt — bez magii
Skrypt to zwykły bash — możesz go przeczytać w całości na GitHubie. Oto co robi kolejno:
Tworzy infrastrukturę przez CloudFormation:
| Zasób | Po co |
|---|---|
| S3 Bucket | przechowuje pliki modelu (~22 GB) |
| IAM Role CodeBuild | uprawnienia do HuggingFace, S3 i Bedrock API |
| IAM Role Bedrock | tylko read S3 — przekazywana do Bedrocka przy imporcie |
| SSM Parameter | bezpieczne przechowywanie tokenu HF (nie w env, nie w logach) |
| CodeBuild Project | maszyna która pobiera model i importuje go |
Dwie osobne role IAM to świadoma decyzja — Bedrock dostaje tylko to czego potrzebuje.
Uruchamia CodeBuild, który:
- Pobiera ~22 GB wag modelu z HuggingFace
- Wgrywa je do S3
- Weryfikuje czy wszystkie pliki
.safetensorsdotarły - Wywołuje
bedrock.create_model_import_jobi czeka na zakończenie
Dlaczego CodeBuild, a nie Lambda czy lokalnie? Model waży 22 GB, pobieranie zajmuje 20–35 minut. Lambda ma limit 15 minut i 512 MB dysku. CloudShell ma 1 GB. CodeBuild daje tyle miejsca i czasu ile potrzeba, a płacimy tylko za czas buildu (~$0.90 za jednorazowy deploy).
Krok 4 — Poczekaj ~35–55 minut
Możesz śledzić logi na żywo:
aws logs tail /aws/codebuild/LIAC-Bielik-Import --follow --region eu-central-1
Po zakończeniu:
aws bedrock list-imported-models --region eu-central-1
Krok 5 — Pierwsze zapytanie
⚠️ Custom Imported Models nie obsługują
converseAPI — używamyinvoke_model.
import boto3, json
bedrock = boto3.client("bedrock", region_name="eu-central-1")
runtime = boto3.client("bedrock-runtime", region_name="eu-central-1")
models = bedrock.list_imported_models()
model_arn = next(
m["modelArn"] for m in models["modelSummaries"]
if "Bielik" in m["modelName"]
)
prompt = (
"<|begin_of_text|>"
"<|start_header_id|>user<|end_header_id|>\n"
"Podaj dotychczasowe miasta, będące stolicą Polski.<|eot_id|>\n"
"<|start_header_id|>assistant<|end_header_id|>\n"
)
response = runtime.invoke_model(
modelId=model_arn,
contentType="application/json",
accept="application/json",
body=json.dumps({"prompt": prompt, "max_gen_len": 512, "temperature": 0.7})
)
print(json.loads(response["body"].read())["generation"])
Poprawna odpowiedź powinna wymienić Gniezno, Kraków i Warszawę. Jeśli model odpowiada płynnie po polsku — działa. ✅
Cleanup
Jeden command usuwa wszystko:
bash <(curl -fsSL https://raw.githubusercontent.com/donkoyote/bielik-bedrock-import/main/cleanup.sh)
Usuwa kolejno: pliki z S3, logi CloudWatch, cały stack CloudFormation (IAM, SSM, CodeBuild) i opcjonalnie model z Bedrocka. Po cleanup żadnych zasobów, żadnych kosztów.
Koszty — eu-central-1
| Scenariusz | Koszt |
|---|---|
| Jednorazowy deploy | ~$0.96 |
| S3 storage miesięcznie | ~$0.54 |
| Kilka zapytań testowych | ~$0.02–$0.10 |
| Produkcja light (~100 req/dzień) | ~$15–$20/mies |
Import modelu jest bezpłatny. Płacisz tylko za inference — i tylko wtedy gdy model faktycznie odpowiada na zapytania (okna 5-minutowe). Model zaimportowany ale nieużywany nie generuje kosztów.
Chcesz tylko przetestować? Całość zamknie się w granicach $1–2.
Podsumowanie
Amazon Bedrock + Bielik to połączenie które daje polskim deweloperom coś konkretnego: natywnie polskojęzyczny model AI dostępny przez standardowe AWS API, bez zarządzania infrastrukturą, z pełną integracją z IAM i CloudWatch.
Jeden command, zero lokalnej konfiguracji, ~$1 na start.
bash <(curl -fsSL https://raw.githubusercontent.com/donkoyote/bielik-bedrock-import/main/deploy.sh)
📦 Pełne repozytorium z kodem, FAQ i opisem błędów: github.com/donkoyote/bielik-bedrock-import
Tutorial wideo: youtube.com/@livinginacloud