Ogólny model językowy wie wszystko o świecie, ale nic o twojej firmie. Nie zna twojego produktu, twoich klientów, wewnętrznej terminologii ani procedur. Gdy pytasz go o specyfikę twojego biznesu, odpowiada ogólnikami. Szkolenie modelu AI na danych firmowych to sposób na zmianę tego stanu rzeczy – i nie zawsze wymaga armii data scientistów ani serwerowni wartej miliony.
Trzy podejścia do personalizacji modeli AI
Zanim zaczniesz szkolić model na własnych danych, warto zrozumieć, że istnieją trzy fundamentalnie różne podejścia – każde z innym kosztem, złożonością i odpowiednim zastosowaniem.
RAG (Retrieval-Augmented Generation) to najprostsze i najczęściej właściwe podejście dla firm. Zamiast zmieniać sam model, budujesz bazę wiedzy z dokumentów firmowych i na każde zapytanie najpierw wyszukujesz relevantne fragmenty, a następnie przekazujesz je modelowi razem z pytaniem jako kontekst. Model „czyta” twoje dokumenty przy każdej odpowiedzi. Zaleta: łatwe w implementacji, łatwe do aktualizowania (wystarczy dodać nowe dokumenty), tanie w utrzymaniu. Wada: ograniczone kontekstem okna – model widzi tylko wybrane fragmenty, nie „nauczył się” danych na poziomie wag.
Fine-tuning to rzeczywiste doszkalanie modelu na twoich danych – zmiana wag sieci neuronowej przez trening na przykładowych parach pytanie-odpowiedź lub dokumentach firmowych. Model „internalizuje” wiedzę i styl zamiast tylko czytać ją przy każdym zapytaniu. Kosztowniejsze i bardziej złożone niż RAG, ale daje lepsze wyniki przy specyficznym stylu komunikacji, terminologii branżowej i zadaniach wymagających głębokiego rozumienia domeny.
Trening od podstaw (pre-training) to budowanie modelu zupełnie od zera na własnych danych. Wymaga petabajtów danych, ogromnej mocy obliczeniowej i wyspecjalizowanych zespołów. Poza największymi firmami technologicznymi i instytucjami badawczymi to opcja nierealistyczna dla absolutnej większości organizacji.
Dla większości firm właściwym wyborem jest RAG lub fine-tuning – w zależności od potrzeb. RAG do odpowiadania na pytania o produkty, procedury i dokumentację. Fine-tuning do zadań wymagających specyficznego stylu, formatu odpowiedzi lub głębokiej znajomości domeny.
RAG w praktyce – jak zbudować bazę wiedzy firmy
RAG jest dziś dostępny jako gotowe rozwiązanie przez platformy takie jak OpenAI Assistants API, Anthropic Claude Projects, Langchain czy LlamaIndex. Możesz zbudować działający system bez pisania kodu od zera.
Architektura RAG składa się z trzech komponentów:
1. Ingestion pipeline – przetwarzanie dokumentów firmowych: dzielenie na chunki (fragmenty), generowanie embeddingów (wektorowych reprezentacji tekstu) i zapisywanie ich w bazie wektorowej.
2. Vector database – baza danych przechowująca embeddingi dokumentów i umożliwiająca szybkie wyszukiwanie semantyczne. Popularne opcje to Pinecone, Weaviate, Qdrant (open-source) i pgvector (rozszerzenie PostgreSQL dla prostszych wdrożeń).
3. Query pipeline – przy każdym zapytaniu: generowanie embeddingu zapytania, wyszukiwanie semantycznie podobnych fragmentów w bazie wektorowej, budowanie promptu z pytaniem i znalezionymi fragmentami, wysyłanie do modelu językowego.
Prosty przykład z LlamaIndex w Pythonie:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core import Settings
from llama_index.llms.openai import OpenAI
# Wczytaj dokumenty firmowe
documents = SimpleDirectoryReader('dane_firmowe/').load_data()
# Zbuduj indeks (generuje embeddingi i zapisuje w pamięci)
Settings.llm = OpenAI(model='gpt-4o-mini')
index = VectorStoreIndex.from_documents(documents)
# Zapytaj bazę wiedzy
query_engine = index.as_query_engine()
response = query_engine.query(
'Jaka jest procedura zwrotu towaru dla klientów B2B?'
)
print(response)Jakość chunkingu ma ogromne znaczenie – zbyt małe fragmenty tracą kontekst, zbyt duże przekraczają okno kontekstu modelu lub zawierają za dużo niezwiązanych informacji. Standardowy punkt wyjścia to chunki 256-512 tokenów z 10-20% nakładaniem się (overlap) między sąsiednimi fragmentami dla zachowania ciągłości kontekstu.
Metadane dokumentów – warto wzbogacić każdy dokument o metadane: typ dokumentu (procedura, FAQ, specyfikacja produktu), datę aktualizacji, dział, level uprawnień. Metadane pozwalają filtrować wyniki i podnosić jakość retrieval.
Fine-tuning – kiedy i jak go przeprowadzić
Fine-tuning jest właściwym wyborem gdy: styl odpowiedzi musi być bardzo specyficzny (ton komunikacji marki, format raportów), model ma wykonywać wyspecjalizowane zadania (klasyfikacja ticketów supportu, ekstrakcja danych z dokumentów), potrzebujesz lepszej wydajności przy małej liczbie tokenów kontekstu lub RAG nie daje wystarczającej jakości przy złożonych zadaniach domenowych.
Przygotowanie danych treningowych to najtrudniejszy i najważniejszy etap. Fine-tuning wymaga par prompt-odpowiedź w formacie JSONL:
{"messages": [
{"role": "system", "content": "Jesteś asystentem obsługi klienta firmy X."},
{"role": "user", "content": "Jak długo trwa dostawa?"},
{"role": "assistant", "content": "Standardowa dostawa zajmuje 2-3 dni robocze na terenie Polski. Dla zamówień złożonych do 14:00 wysyłka następuje tego samego dnia."}
]}Minimalna liczba przykładów dla fine-tuningu GPT-4o-mini przez OpenAI API to 10 par, ale praktyczna jakość zaczyna się od 50-100 przykładów dla prostych zadań i 500+ dla złożonych. Jakość przykładów jest ważniejsza niż ilość – 100 doskonałych przykładów bije 1000 przeciętnych.
Źródła danych treningowych:
Historyczne tickety supportu z odpowiedziami ekspertów – bezcenne dla modeli obsługi klienta. Zweryfikowane pary Q&A z wewnętrznej bazy wiedzy. Ręcznie tworzone przykłady przez ekspertów domenowych. Istniejące dokumenty z adnotacjami – np. umowy z zaznaczonymi kluczowymi klauzulami dla modelu do ekstrakcji informacji.
Proces fine-tuningu przez OpenAI API:
from openai import OpenAI
client = OpenAI()
# Wgraj dane treningowe
with open('dane_treningowe.jsonl', 'rb') as f:
response = client.files.create(file=f, purpose='fine-tune')
file_id = response.id
# Uruchom fine-tuning
job = client.fine_tuning.jobs.create(
training_file=file_id,
model='gpt-4o-mini-2024-07-18',
hyperparameters={'n_epochs': 3}
)
print(f'Fine-tuning job: {job.id}')
# Monitoruj postęp przez client.fine_tuning.jobs.retrieve(job.id)Koszt fine-tuningu GPT-4o-mini to ok. 3$/milion tokenów treningowych i obniżona cena za użycie wytrenowanego modelu. Dla 100 000 tokenów treningowych koszt fine-tuningu wynosi ok. 30 centów – bardzo przystępna cena za specjalizację modelu.
Prywatność i bezpieczeństwo danych firmowych
To temat, który musi być zaadresowany zanim wyślesz pierwszą firmową umowę do zewnętrznego API.
Klasyfikacja danych – zanim zbudujesz system RAG lub fine-tuningu, sklasyfikuj dane według wrażliwości. Publiczne materiały marketingowe i FAQ produktowe można bezpiecznie wysyłać do zewnętrznych API. Umowy, dane klientów, własność intelektualna i dane osobowe wymagają znacznie ostrożniejszego podejścia.
Polityki dostawców AI dotyczące danych:
OpenAI przez API domyślnie nie używa danych do trenowania modeli i przechowuje je przez 30 dni dla celów bezpieczeństwa. Enterprise API z umową DPA eliminuje przechowywanie danych.
Anthropic stosuje podobne zasady – dane przez API nie trafiają do trenowania modeli bazowych.
Azure OpenAI Service i Google Cloud Vertex AI oferują gwarancje enterprise z przetwarzaniem danych wyłącznie w określonych regionach geograficznych – ważne dla firm z wymogami RODO dotyczącymi lokalizacji danych.
Modele lokalne dla najbardziej wrażliwych danych – jeśli dane absolutnie nie mogą opuszczać infrastruktury firmy, rozważ open-source modele jak Llama 3, Mistral czy Phi-3 uruchamiane lokalnie przez Ollama lub na własnym serwerze GPU. Jakość jest niższa niż GPT-4o, ale dla wielu zastosowań wystarczająca przy pełnej kontroli nad danymi.
Ewaluacja i utrzymanie modelu
Wdrożenie modelu to nie koniec – to początek ciągłego procesu utrzymania jakości.
Ewaluacja jakości odpowiedzi powinna być zautomatyzowana od początku. Zbieraj próbkę zapytań i odpowiedzi, oceniaj je przez osobny model AI (LLM-as-judge) lub ręcznie przez ekspertów domenowych. Metryki do śledzenia: trafność odpowiedzi, hallucynacje (odpowiedzi niezgodne z dokumentacją), pokrycie (czy model odpowiada na pytania, które powinien umieć obsłużyć).
RAG wymaga utrzymania indeksu – nowe dokumenty, zaktualizowane procedury i usunięte treści muszą być odzwierciedlone w bazie wektorowej. Zbuduj pipeline automatycznej aktualizacji przy zmianach w repozytorium dokumentów.
Fine-tuning wymaga re-treningu przy znaczących zmianach produktu, procedur lub stylu komunikacji. Śledź „data drift” – gdy realne zapytania coraz bardziej odbiegają od danych treningowych, jakość modelu spada.
Feedback loop – zbieraj oceny użytkowników (thumbs up/down, korekty) i używaj ich do poprawy danych treningowych i identyfikowania słabych obszarów modelu. Każda niska ocena to informacja o tym, gdzie model zawodzi.
Szkolenie modeli AI na danych firmowych to dziś dostępne dla organizacji każdej wielkości – nie tylko dla Big Tech. Kluczem jest dobry dobór podejścia do problemu i staranne przygotowanie danych.