Praktyczne wskazówki dla firm FMCG przyjmujących MLOP. Przewodnik dla programistów

Jakub Grabski
Jakub Grabski
May 8, 2025
34 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Znaczenie MLOP w FMCG

Operacje uczenia maszynowego (MLOP) są niezbędne dla firm FMCG (FMCG) w celu skutecznego wdrażania modeli uczenia maszynowego i zarządzania nimi. Dzięki integracji praktyk MLOP firmy FMCG mogą usprawnić operacje, usprawnić podejmowanie decyzji i poprawić wrażenia klientów. Ten przewodnik zawiera praktyczne wskazówki dla programistów, które pomogą firmom FMCG z powodzeniem przyjmować MLOP.

Przegląd praktycznych wskazówek dotyczących MLOP w FMCG

Kluczowe praktyczne wskazówki dotyczące przyjmowania MLOP w FMCG obejmują:

  • Zacznij od małego
  • Zainwestuj w szkolenia
  • Wspieraj współpracę
  • Wykorzystanie modeli sztucznej inteligencji do automatyzacji

DS Stream z powodzeniem scentralizował operacje na GCP dla klientów FMCG, wykorzystując MLOP w celu zwiększenia opłacalności i usprawnienia procesów rozwojowych. Takie podejście okazało się skuteczne w zmniejszaniu wydatków operacyjnych oraz poprawie jakości i niezawodności aplikacji.

Zacznij od małego z MLOP

Wybór projektu pilotażowego

Rozpoczęcie od projektu pilotażowego pomaga zademonstrować wartość MLOP i zdobyć wpisowe zainteresowanych stron. Wybierz projekt o jasnym, osiągalnym celu i mierzalnych wynikach. Przykłady obejmują:

Optymalizacja zapasów: Skorzystaj z uczenia maszynowego, aby przewidywać zapotrzebowanie na zapasy i zmniejszyć nadmiar zapasów i zapasy.

Przykładowa implementacja:

importuj pandy jako pd

importuj tensorflow jako tf

z tensorflow.keras.models import Sekwencyjny

z tensorflow.keras.layers importuj gęste, LSTM, Dropout

z programu sklearn.preprocessing import MinMaxScaler

importuj matplotlib.pyplot jako plt

# Generuj syntetyczne dane zapasów

def generate_inventory_data ():

czas = pd.date_range (start = '1/1/2020', okresy = 1000)

popyt = PD.Series (dane = (20 + 0,5 * time.dayofyear + (np.random.randn (len (czas)) * 5)), indeks = czas)

popyt zwrotny

żądanie = wygeneruj dane_inwentaryzację ()

# Przygotuj dane

skaler = MinMaxScaler (zakres funkcji = (0, 1))

demand_scaled = scaler.fit_convert (demand.values.reshape (-1, 1))

def create_sequences (dane, długość seq_):

X, y = [], []

dla i w zakresie (len (dane) - seq_length):

x.append (dane [i:i+seq_length])

y.append (dane [i + seq_length])

zwróć np.array (X), np.array (y)

długość następna = 30

X, y = tworzenie sekwencji (skalowanie_żądania, długość następnej)

# Zmień kształt danych dla LSTM [próbki, kroki czasowe, funkcje]

X = X.ReShape ((X.Shape [0], X.Shape [1], 1))

# Zdefiniuj model LSTM

model = Sekwencyjny ([

LSTM (128, Return_sequences=prawda, kształt_wejścia= (długość seq_, 1)),

Rzucanie studiów (0,2),

LSTM (64),

Rzucanie studiów (0,2),

Gęsty (1)

])

model.compile (optymalizator = 'adam', loss='mse')

# Trenuj model

historia = model.fit (X, y, epoki = 50, wielkość_partie=32, walidacja_split=0.2)

# Zapisz model

model.save ('inventory_optymalizacji_model_v2.h5')

# Wykreśl wartości strat treningowych i walidacyjnych

plt.plot (history.history ['strata'])

plt.plot (history.historia ['val_loss'])

plt.title ('Utrata modelu')

plt.ylabel ('Strata')

plt.xlabel ('Epoka')

plt.legend (['Pociąg', 'Walidacja'], loc='prawy górny')

plt.show ()

Prognozowanie popytu: Wdrażanie modeli prognozowania popytu na produkty w oparciu o dane historyczne i trendy rynkowe.

Przykładowa implementacja:

importuj pandy jako pd

importuj numpy jako np

importuj tensorflow jako tf

z tensorflow.keras.models import Sekwencyjny

z tensorflow.keras.layers importuj Dense, Conv1D, Flatten, Dropout

importuj train_test_split z sklearn.model_select

z programu sklearn.preprocessing import StandardScaler

# Załaduj historyczne dane sprzedaży

dane = pd.read_csv ('historical_sales_data.csv')

# Inżynieria funkcji

dane ['date'] = pd.to_datetime (dane ['data'])

dane ['miesiąc'] = dane ['data'] .dt.month

dane ['day_of_week'] = dane ['data'] .dt.dayofweek

dane ['rok'] = dane ['data'] .dt.year

# Zakładając, że celem jest „sprzedaż”, a „promocja” jest funkcją binarną

features = ['miesiąc', 'dzień_tygodnia', 'promocja', 'rok']

X = dane [funkcje]

y = dane ['sprzedaż'] .values

# Standaryzuj funkcje

skaler = StandardScaler ()

X_scaled = scaler.fit_transformer (X)

# Podział pociągu/testu

X_train, x_test, y_train, y_test = tren_test_split (X_scaled, y, test_size=0.2, random_state=42)

# Zmień kształt dla Conv1D [próbki, kroki czasowe, funkcje]

X_Train = X_Train.Zmień kształt ((X_Train.Shape [0], X_Train.Shape [1], 1))

X_Test = X_Test.Zmień kształt ((X_Test.Shape [0], X_Test.Shape [1], 1))

# Zdefiniuj model

model = Sekwencyjny ([

Conv1D (64, kernel_size=2, activation='relu', input_shape= (x_train.shape [1], 1)),

Rzucanie studiów (0,3),

Conv1D (32, kernel_size=2, activation='relu'),

Spłaszczyć (),

Gęsty (50, aktywacja = „relu”),

Gęsty (1)

])

model.compile (optymalizator = 'adam', loss='mse', metrics= [tf.keras.metrics.rootMeanSquaredError ()])

# Trenuj model

historia = model.fit (x_train, y_train, epoks=50, rozmiar_partie=32, data_walidacji= (x_test, y_test))

# Zapisz model

model.save ('zapotrzebowania_model_v2.h5')

# Oceń model

strata, rmse = model.assessment (x_test, y_test)

print (w teście RMSE: {rmse} ')

# Wykreśl wartości strat treningowych i walidacyjnych

plt.plot (history.history ['strata'])

plt.plot (history.historia ['val_loss'])

plt.title ('Utrata modelu')

plt.ylabel ('Strata')

plt.xlabel ('Epoka')

plt.legend (['Pociąg', 'Walidacja'], loc='prawy górny')

plt.show ()

DS Stream zrealizował projekt dla klienta FMCG, który obejmował migrację wielu przypadków użycia na scentralizowaną platformę GCP, co skutkowało oszczędnościami kosztów i usprawnieniem operacji. Osiągnięto to dzięki strategicznemu wykorzystaniu rurociągów Docker, Kubernetes i CI/CD.

Mierzenie sukcesu i zwiększanie skalowania

Oceń sukces projektu pilotażowego poprzez pomiar kluczowych wskaźników wydajności (KPI), takich jak dokładność, wydajność i oszczędność kosztów. Wykorzystaj uzyskane spostrzeżenia, aby zwiększyć skalę projektu i zastosować praktyki MLOP w innych obszarach działalności.

W przypadku DS Stream skalowanie zostało ułatwione dzięki skutecznej implementacji pociągów CI/CD z wykorzystaniem akcji GitHub, co umożliwiło szybkie i niezawodne wdrażanie nowych funkcji oraz poprawiło ogólną jakość i niezawodność aplikacji.

Zainwestuj w szkolenia dla MLOP

Identyfikacja potrzeb szkoleniowych

Oceń aktualny poziom umiejętności swojego zespołu i zidentyfikuj luki w wiedzy związanej z narzędziami i praktykami MLOP. Skoncentruj się na obszarach takich jak uczenie maszynowe, inżynieria danych i DevOps.

Programy szkoleniowe i zasoby

Zapewnij dostęp do kompleksowych programów szkoleniowych i zasobów, aby podnieść umiejętności swojego zespołu:

  • Kursy online: Platformy takie jak Coursera, Udacity i edX oferują kursy dotyczące MLOP, uczenia maszynowego i DevOps.
  • Warsztaty i bootcampy: Organizuj praktyczne warsztaty i bootcampy, aby zapewnić praktyczne doświadczenie z narzędziami MLOP.
  • Certyfikaty: Zachęcaj członków zespołu do uzyskania certyfikatów w odpowiednich technologiach, takich jak Kubernetes i TensorFlow.

Przykładowy plan szkoleniowy:

1. Wprowadzenie do MLOP

- Kurs: „Wprowadzenie do MLOP” na Coursera

2. Podstawy uczenia maszynowego

- Kurs: „Uczenie maszynowe” Andrew Ng na Coursera

3. Inżynieria danych z Apache Spark

- Kurs: „Analiza dużych zbiorów danych z Apache Spark” na edX

4. Kubernetes dla programistów

- Kurs: „Kubernetes dla programistów” na Udacity

5. Praktyczne warsztaty: Budowanie i wdrażanie modeli ML za pomocą TensorFlow i Kubernetes

- Wewnętrzne warsztaty prowadzone przez doświadczonych specjalistów

Ciągłe uczenie się i rozwój

Zachęcaj kulturę ciągłego uczenia się poprzez zapewnienie możliwości ciągłego szkolenia i dostępu do najnowszych zasobów. Bądź na bieżąco z trendami branżowymi i postępami w technologiach MLOP.

Wspieraj współpracę

Budowanie zespołów wielofunkcyjnych

Pomyślne wdrożenie MLOP wymaga współpracy między naukowcami danych, specjalistami IT i interesariuszami biznesowymi. Buduj zespoły wielofunkcyjne, aby zapewnić różnorodne perspektywy i wiedzę fachową.

Przykładowa struktura zespołu:

- Data Scientists: Odpowiedzialny za budowanie i szkolenie modeli uczenia maszynowego.

- Specjaliści IT: Zarządzaj infrastrukturą, wdrażaniem i monitorowaniem.

- Interesariusze biznesowi: Zapewnij wiedzę o domenie i określ cele projektu.

Narzędzia i praktyki współpracy

Korzystaj z narzędzi i praktyk współpracy, aby ułatwić komunikację i zarządzanie projektami:

  • Narzędzia komunikacyjne: Slack, Microsoft Teams lub Zoom do komunikacji w czasie rzeczywistym.
  • Narzędzia do zarządzania projektami: Jira, Trello lub Asana do śledzenia zadań i postępów.
  • Kontrola wersji: Git do wersji kodu i modeli, zapewniając współpracę i powtarzalność.

DS Stream wykorzystał zespoły wielofunkcyjne w projekcie, którego celem było skalowanie szkolenia i wnioskowania z modelami głębokiego uczenia się dla klienta FMCG. Projekt ten obejmował ścisłą współpracę między specjalistami IT, którzy zarządzali infrastrukturą i wdrożeniem, a naukowcami ds. danych, którzy skupili się na rozwoju modelu. Połączone wysiłki zapewniły pomyślne wdrożenie skalowalnej, opłacalnej platformy w usłudze Azure Kubernetes Service (AKS), która została dostosowana do efektywnego obsługi dużego ruchu i dużych zbiorów danych.

DS Stream optymalizuje współpracę między zespołami, wykorzystując MS Teams do komunikacji i Git do bezproblemowego sterowania wersjami.

Przykładowy przepływ pracy z Git i GitHub:

# Inicjalizuj repozytorium Git

git init

# Dodawanie i zatwierdzanie plików

git dodaj.

git commit -m „Początkowe zatwierdzenie”

# Utwórz nową gałąź dla projektu

git checkout -b mlops-projekt

# Współpraca z członkami zespołu

# Wciśnij zmiany do GitHub

git push project mlops-origin

Strategie komunikacji

Opracuj jasne strategie komunikacyjne, aby zapewnić wszystkim dostosowanie i poinformowanie wszystkich:

  • Regularne spotkania: Organizuj regularne spotkania, aby omawiać postępy, wyzwania i aktualizacje.
  • Dokumentacja: Prowadź kompleksową dokumentację procesów, modeli i decyzji.
  • Pętle opinii: Zachęcaj do informacji zwrotnych od wszystkich członków zespołu, aby stale ulepszać przepływy pracy i praktyki.

Wykorzystanie modeli sztucznej inteligencji do automatyzacji

Poprawa zapewnienia jakości danych

Modele AI mogą zautomatyzować procesy walidacji i czyszczenia danych, zapewniając dokładność i kompletność danych. Modele OpenAI mogą być używane do identyfikacji anomalii, wypełniania brakujących wartości i poprawiania typów danych.

Przykład: Walidacja danych za pomocą GPT-4o OpenAI

import openai

# Skonfiguruj klucz API OpenAI

openai.api_key = 'Twój klucz api'

# Funkcja sprawdzania poprawności danych za pomocą GPT-4o

def validate_data (dane):

prompt = F"Sprawdź następujące dane pod kątem anomalii, brakujących wartości i upewnij się, że typy danych są poprawne: {data}”

odpowiedź = Openai.ChatCompletion.Create (

model = „gpt-4o”,

wiadomości = [

{"role”: „system”, „content”: „Jesteś asystentem walidacji danych. „},

{"role”: „user”, „content”: monit}

],

max_tokens=150

)

return response ['options'] [0] ['message'] ['content'] .strip ()

# Przykładowe dane do walidacji

dane = {

„wiek”: [25, 30, Brak, 45, 50],

„dochód”: [50000, 60000, 70000, Brak, 90000]

}

# Sprawdź poprawność danych

validation_result = poprawne dane (dane)

drukuj (wynik walidacji)

Budowanie skalowalnych rurociągów danych

Modele sztucznej inteligencji mogą pomóc w projektowaniu skalowalnych potoków danych poprzez dostarczanie zaleceń dotyczących narzędzi i praktyk dotyczących pobierania, przetwarzania i przechowywania danych. OpenAI może generować fragmenty kodu i konfiguracje dla narzędzi takich jak Apache Kafka i Apache Spark.

Przykład: Projektowanie pociągu danych za pomocą GPT-4o OpenAI

# Funkcja generowania projektu rurociągu danych przy użyciu GPT-4o

def generate_pipeline design (wymagania):

prompt = F"Zaprojektuj skalowalny potok danych w oparciu o następujące wymagania: {requeriments}”

odpowiedź = Openai.ChatCompletion.Create (

model = „gpt-4o”,

wiadomości = [

{"role”: „system”, „content”: „Jesteś ekspertem w dziedzinie inżynierii danych. „},

{"role”: „user”, „content”: monit}

],

max_tokens=300

)

return response ['options'] [0] ['message'] ['content'] .strip ()

# Przykładowe wymagania dotyczące rurociągu

wymagania = „"”

Rurociąg powinien obsługiwać pobieranie danych w czasie rzeczywistym z wielu źródeł, przetwarzać dane za pomocą Apache Spark i przechowywać przetworzone dane w hurtowni danych. Powinien również obejmować tolerancję błędów i być łatwo skalowalny.

„"”

# Generuj projekt rurociągu

tube_design = wygeneruj projekt rurociągów (wymagania)

drukuj (projekt rurociągów)

Wdrażanie kontroli wersji

Modele AI mogą pomóc w zarządzaniu kontrolą wersji danych i modeli, generując skrypty do śledzenia zmian, zapewniając powtarzalność i współpracę.

Przykład: Zarządzanie wersjami danych za pomocą GPT-4o OpenAI

# Funkcja generowania skryptów kontroli wersji dla danych przy użyciu GPT-4o

def generate_version_control_script (opis danych):

prompt = f"Wygeneruj skrypt kontroli wersji dla następujących danych: {data_description}” response = openai.chatcompletion.create (model="gpt-4o”, messages= [{"role”: „system”, „content”: „Jesteś inżynierem oprogramowania specjalizującym się w zarządzaniu danymi."}, {"role”: „user”, „content”: prompt}], max_tokens=200) return response ['options'] [0] ['message'] ['content'] .strip () # Przykładowy opis danych data_description = „"” Dane zawierają kolumny: data (data), sprzedaż (float). Skrypt powinien śledzić zmiany, zapisywać wersje w zdalnym repozytorium i obsługiwać konflikty scalania.

„"”

# Generowanie skryptu kontroli wersji

version_control_script = wygeneruj skrypt kontrolny_wersji (opis danych)

drukuj (version_control_script)

Firma DS Stream zautomatyzowała wdrażanie i skalowanie rurociągów danych w różnych projektach, w tym znaczącą inicjatywę, w której zoptymalizowano alokację zasobów i skalowanie kapsułek pracowniczych do obsługi dużego ruchu i dużych zbiorów danych w branży FMCG. Dostosowując autoskalowanie Kubernetes i wdrażając praktyki ciągłej integracji i wdrażania (CI/CD), DS Stream zapewnił efektywne wdrażanie modeli głębokiego uczenia i zarządzanie nimi na dużą skalę.

Wniosek

Podsumowanie kluczowych punktów

Przyjęcie MLOP w firmach FMCG wymaga rozpoczęcia od małych, łatwych do zarządzania projektów pilotażowych, inwestowania w kompleksowe programy szkoleniowe, wspierania współpracy między różnymi zespołami i wykorzystywania modeli sztucznej inteligencji do automatyzacji. Te praktyczne wskazówki pomagają zapewnić sprawne i skuteczne wdrożenie praktyk MLOP.

Ostatnie przemyślenia

Ponieważ branża FMCG nadal ewoluuje, korzystanie z MLOP może przynieść znaczące korzyści pod względem wydajności, skalowalności i innowacji. Postępując zgodnie z tymi praktycznymi wskazówkami i koncentrując się na ciągłym doskonaleniu, firmy FMCG mogą wykorzystać pełny potencjał uczenia maszynowego, aby osiągnąć sukces biznesowy.

Dzięki integracji modeli sztucznej inteligencji z przepływami pracy MLOP firmy mogą dodatkowo ulepszyć automatyzację, zapewniając większą dokładność i wydajność zarządzania danymi, skalowalnych rurociągów i kontroli wersji. Ta integracja pozwoli firmom FMCG pozostać konkurencyjnymi w szybko zmieniającym się krajobrazie rynkowym.

Tytuł SEO:

„Praktyczne wskazówki dla firm FMCG przyjmujących MLOP: przewodnik dla programistów”

Opis SEO:

„Odkryj praktyczne wskazówki dla firm FMCG przyjmujących MLOP. Dowiedz się, jak zacząć od małych projektów pilotażowych, inwestować w szkolenia, wspierać współpracę i wykorzystywać modele sztucznej inteligencji do automatyzacji procesów w celu skutecznego wdrażania MLOP.

FAQ

1. W jaki sposób firmy FMCG mogą zacząć od małych firm z MLOP?

  • Zacznij od projektów pilotażowych, które mają jasne, osiągalne cele i mierzalne wyniki. Przykłady obejmują optymalizację zapasów i prognozowanie popytu. Realizuj te projekty za pomocą ustrukturyzowanych kroków i oceń ich sukces przed skalowaniem.

2. Jakie są najlepsze zasoby do szkolenia pracowników w MLOP?

  • Kursy online na platformach takich jak Coursera, Udacity i edX zapewniają kompleksowe szkolenia z zakresu MLOP, uczenia maszynowego i DevOps. Korzystne są również warsztaty i certyfikaty w zakresie odpowiednich technologii, takich jak Kubernetes i TensorFlow.

3. W jaki sposób można budować zespoły wielofunkcyjne do wdrażania MLOP?

  • Twórz zespoły składające się z naukowców zajmujących się danymi, specjalistów IT i interesariuszy biznesowych. Każdy członek zespołu wnosi unikalną wiedzę, zapewniając różnorodne perspektywy i skuteczną współpracę.

4. Jakie narzędzia ułatwiają współpracę w projektach MLOP?

  • Używaj narzędzi komunikacyjnych, takich jak Slack lub Microsoft Teams, narzędzi do zarządzania projektami, takich jak Jira lub Trello, oraz systemów kontroli wersji, takich jak Git, aby ułatwić współpracę i zapewnić płynne zarządzanie projektami.

5. W jaki sposób można wykorzystać modele sztucznej inteligencji do automatyzacji procesów MLOP?

  • Modele AI mogą zautomatyzować walidację i czyszczenie danych, pomagać w projektowaniu skalowalnych rurociągów danych oraz zarządzać kontrolą wersji dla danych i modeli, zwiększając ogólną wydajność i dokładność przepływów pracy MLOP.
Illustration showcasing data pipeline optimization with the slogan 'Make Your Data Pipelines More Efficient' and a 'Learn More' button.

MLOP

Zastosowania MLOP w FMCG: Optymalizacja łańcucha dostaw

Share this post
Data Science
Jakub Grabski
MORE POSTS BY THIS AUTHOR
Jakub Grabski

Curious how we can support your business?

TALK TO US