Wymagania dotyczace zasobów dla analiz AI opartych na R
Na tej stronie uzyskają Państwo informacje pomocne przy szacowaniu ilosci pamieci RAM, jaka powinna byc dostepna dla srodowiska uruchomieniowego R w ramach rozwiązań AI dostarczanych przez dab.
Na tej stronie przez dataset rozumiane sa dane wyjsciowe jednej analizy uruchomionej przez dab Nexus. Calosc tego datasetu musi zmiescic sie w pamieci dostepnej dla srodowiska R.
Szybkie wskazówki
- Prosze wykorzystac ponizsze macierze do oszacowania ilosci RAM potrzebnego srodowisku
Rpodczas pojedynczego uruchomienia analizy. - Podane wartosci w macierzy nie oznaczaja calej pamieci SQL Server lub RAM na Azure SQL Managed Instance.
- Jesli kilka analiz jest wykonywanych jednoczesnie, nalezy zsumowac zapotrzebowanie na pamiec
Rdla kazdej z nich. - W srodowisku Azure SQL Managed Instance srodowisko
Rdomyslnie wykorzystuje ok. 20% zasobów tej instancji.
RAM wymagany przez srodowisko R
Poniższe tabele pokazuja ilosc RAM wymagana przez srodowisko R dla jednego uruchomienia analizy. Nie odzwierciedlają one calej dostepnej pamieci serwera lub instancji.
Jesli w komórce macierzy wystepuje wartosc 16 GB, srodowisko R potrzebuje ok. 16 GB podczas tego uruchomienia.
Nie oznacza to, ze 16 GB SQL Server ani Managed Instance automatycznie spelnia te wymagania.
Nalezy wybrac odpowiedni zakres wierszy oraz kolumn odpowiadający datasetowi przekazanemu z dab Nexus do analityki. Następnie prosze siegnac po wlasciwa macierz obciazen.
Instrukcja korzystania z tabel:
- W dab Nexus nalezy otworzyc podglad uruchomienia analizy i sprawdzic liczbe wierszy, jaka obejmuje.
- Prosze zweryfikowac liczbe kolumn w Content Studio. Jeśli dokładna wartość nie jest znana, proszę przyjąć typową wartość z poniższej tabeli obciążeń.
- W tabeli poniżej proszę odszukać analizę, którą planują Państwo uruchomić.
- Następnie należy otworzyć odpowiednią macierz i wybrać pole łączące zakres wierszy z zakresem kolumn.
- Odczytana wartość oznacza ilość pamięci RAM, jaka powinna być dostępna dla
Rdla tego uruchomienia.
Podane wartości są konserwatywnym oszacowaniem na podstawie typowej pracy rozwiązań AI dostarczanych przez dab w R. Rzeczywiste maksymalne zużycie zależy dodatkowo od typów danych, liczby unikalnych wartości w kolumnach, tymczasowych obiektów tworzonych przez analizę oraz liczby analiz uruchamianych równolegle.
Typy obciążeń i typowa liczba kolumn
| Kategoria analizy AI | Analizy | Typowa liczba kolumn | Wlasciwa macierz |
|---|---|---|---|
| DEAN / Detekcja odstających | AI_Outliers, *_Outliers | Zazwyczaj 15–20, konfigurowalne | Standardowe obciążenia AI |
| Market Basket Analysis | AI_MarketBasketAnalysis, GL_MarketBasket | Zazwyczaj 6–15, konfigurowalne | Standardowe obciążenia AI |
| Root Cause | *_RootCause | Zwykle 10–20 | Ciezkie obciążenia AI |
| Duplicate Payments / Credit Note AI | AP_DuplicatePaymentsEnhanced | Około 40 | Ciezkie obciążenia AI |
| Master Data AI | CU_DuplicatesEnhanced, CU_Outliers, VE_DuplicatesEnhanced, VE_Outliers | Około 15 | Ciezkie obciążenia AI |
Standardowe obciążenia AI: RAM wymagany przez srodowisko R
Przyklady: AI_Outliers, *_Outliers, AI_MarketBasketAnalysis, GL_MarketBasket
| Liczba wierszy | Do 10 kolumn | 11-20 kolumn | 21-40 kolumn | 41-60 kolumn |
|---|---|---|---|---|
| Do 100 tys. | 4 GB | 4 GB | 8 GB | 12 GB |
| 100 tys.–500 tys. | 4 GB | 8 GB | 12 GB | 16 GB |
| 500 tys.–1 mln | 8 GB | 12 GB | 24 GB | 32 GB |
| 1 mln–2 mln | 12 GB | 24 GB | 48 GB | 64 GB |
| 2 mln–3 mln | 16 GB | 32 GB | 64 GB | 96 GB |
Ciezkie obciążenia AI: RAM wymagany przez srodowisko R
Przyklady: *_RootCause, AP_DuplicatePaymentsEnhanced, CU_DuplicatesEnhanced, CU_Outliers, VE_DuplicatesEnhanced, VE_Outliers
| Liczba wierszy | Do 10 kolumn | 11-20 kolumn | 21-40 kolumn | 41-60 kolumn |
|---|---|---|---|---|
| Do 100 tys. | 4 GB | 8 GB | 8 GB | 12 GB |
| 100 tys.–500 tys. | 8 GB | 12 GB | 16 GB | 24 GB |
| 500 tys.–1 mln | 12 GB | 16 GB | 32 GB | 48 GB |
| 1 mln–2 mln | 16 GB | 32 GB | 64 GB | 96 GB |
| 2 mln–3 mln | 24 GB | 48 GB | 96 GB | 128 GB+ |
Jeśli rozmiar obciążenia przekracza podane zakresy, wartości z macierzy należy traktować jako dolną granicę i uwzględnić dodatkowy zapas pamięci przy wymiarowaniu środowiska.
SQL Server on-premises lub Azure Virtual Machine
Tę platformę warto wybrać, gdy istotna jest pełna kontrola nad przydziałem pamięci.
- Powyższe macierze przedstawiają ilość pamięci RAM, jaka musi pozostać dostępna dla srodowiska
R. - Całkowita pamięć komputera powinna być wyższa niż wartość z macierzy, ponieważ system Windows oraz SQL Server również wymagają zasobów.
- Minimalny praktyczny rozmiar hosta: 16 GB RAM ogółem
- Typowy punkt początkowy: 32 GB RAM ogółem
- Duże, szerokie lub równoległe obciążenia: 64 GB RAM ogółem lub więcej
- Minimalna liczba CPU: 2 rdzenie
- Zalecany CPU: nowoczesny procesor x64 o wysokiej wydajności pojedynczego wątku
Ważne: SQL Server może wykorzystać większość pamięci maszyny, jeśli nie zostanie odpowiednio ograniczony. Konieczne jest pozostawienie wystarczającej ilości pamięci operacyjnej dla systemu oraz R, a do kontroli przyznanych zasobów dla skryptów zewnętrznych warto wykorzystać Resource Governor. Po każdej zmianie ustawień należy ponownie uruchomić SQL Server Launchpad.
Sprawdzenie i konfiguracja Resource Governor
W przypadku samodzielnie zarządzanej SQL Server można sprawdzić lub ustawić przydział pamięci dla R za pomocą poniższych poleceń.
W celu sprawdzenia aktualnej konfiguracji należy wykonać następujące zapytania:
SELECT is_enabled FROM sys.resource_governor_configuration;
SELECT name, max_memory_percent, max_cpu_percent
FROM sys.resource_governor_external_resource_pools;
- Pierwsze zapytanie weryfikuje, czy Resource Governor jest aktywny.
- Kolejne prezentuje bieżące limity pamięci i CPU dla zewnętrznych środowisk wykonawczych, takich jak
R.
Aby zwiększyć domyślny zewnętrzny pool, jeśli R wymaga więcej pamięci:
ALTER EXTERNAL RESOURCE POOL "default"
WITH (
MAX_CPU_PERCENT = 100,
MAX_MEMORY_PERCENT = 40
);
ALTER RESOURCE GOVERNOR RECONFIGURE;
W powyższym przykładzie skryptom zewnętrznym pozwolono wykorzystać do 40% dostępnej pamięci SQL Server zamiast domyślnych 20%.
To ustawienie należy stosować łącznie z max server memory, aby środowisko R faktycznie mogło wykorzystać ilość RAM podaną w powyższych macierzach.
Azure SQL Managed Instance
To platforma odpowiednia, jeśli zależy Państwu na zarządzanym środowisku SQL w Azure i możliwa jest praca w narzuconych limitach usługi Machine Learning Services.
- Zalecane: Warianty Memory optimized w serii premium
- Odpowiednia dla mniejszych datasetów: Premium-series
- Tylko dla małych, budżetowych zadań: Standard-series (Gen5)
W przypadku tych obciążeń liczy się ilość pamięci na każdy vCore, nie sama liczba vCore.
| Sprzęt | Pamięć na vCore | Rekomendacja |
|---|---|---|
| Standard-series (Gen5) | 5.1 GB | Niewskazane dla poważnych zadań AI |
| Premium-series | 7 GB | Dobra dla mniejszych zbiorów danych |
| Memory optimized premium-series | 13.6 GB | Najlepszy wybór dla obciążeń wymagających dużej ilości RAM |
Ważne: Azure SQL Managed Instance nie obsługuje zewnętrznych poolów Resource Governor dla R. Domyślnie R może wykorzystywać maksymalnie 20% zasobów Managed Instance.
Wartości z macierzy dotyczą wyłącznie pamięci R. Całkowita pamięć instancji musi być znacznie wyższa.
Przybliżona wymagana całkowita pamięć instancji = wymagany RAM R / 0.20
Przykład:
- Jesli w macierzy widnieje
16 GB,Rwymaga ok.16 GB. - Nie oznacza to, ze
16 GBManaged Instance automatycznie wystarczy. - Ponieważ
Rkorzysta jedynie z ok.20%,16 GBdlaRoznacza około80 GBcałkowitej pamięci instancji.
RAM wymagany przez R | Przybliżona całkowita pamięć instancji |
|---|---|
| 4 GB | 20 GB |
| 8 GB | 40 GB |
| 12 GB | 60 GB |
| 16 GB | 80 GB |
| 24 GB | 120 GB |
| 32 GB | 160 GB |
| 48 GB | 240 GB |
| 64 GB | 320 GB |
| 96 GB | 480 GB |
| 128 GB | 640 GB |
W razie pojawienia się błędów braku pamięci należy zmniejszyć dataset, powiększyć instancję lub otworzyć zgłoszenie do pomocy Azure dotyczące limitu zasobów rozszerzalności.
Ograniczenie zużycia pamięci
Jeżeli dostępna pamięć jest ograniczona, proszę odpowiednio zmniejszyć ilość danych przekazywanych z dab Nexus do analizy:
- Należy ograniczyć liczbę kolumn w Content Studio. Mniejsza liczba kolumn przekłada się na węższy dataset, a tym samym mniejsze zapotrzebowanie na pamięć RAM.
- Przy zakładaniu zadania w dab Nexus warto wybrać mniejszy zakres kodów firmowych oraz krótsze okresy czasowe, aby ograniczyć liczbę wierszy przekazywanych do analizy.
- W przypadku tych obciążeń należy unikać jednoczesnego uruchamiania zbyt wielu zadań w Nexus. Równolegle wykonywane zadania zwiększają całkowite zapotrzebowanie na pamięć w środowisku SQL.
Powyższe działania są najskuteczniejsze w przypadku dużych zbiorów danych, szerokich tabel oraz środowisk, w których działa kilka zadań AI jednocześnie.