aStore check

Stresstest mit großem Deep-Learning-Betrugsmodell

Scénario de test & Cas d'usage

Geschäftskontext

Eine Bank setzt ein komplexes neuronales Netzwerk zur Echtzeit-Betrugserkennung ein. Die Modellgröße ist erheblich (> 200 MB). Der Test soll verifizieren, dass die 'check'-Aktion auch große BLOB-Objekte performant verarbeitet, ohne Speicherüberläufe oder Timeouts zu verursachen.
Datenaufbereitung

Generierung einer großen Dummy-Binärdatei (ca. 50MB simuliert) und Upload in CAS.

Kopiert!
1filename big_onnx temp;
2DATA _null_;
3 file big_onnx recfm=n;
4 DO i=1 to 50000;
5 put '00'x;
6 END;
7RUN;
8 
9PROC CAS;
10 upload path=fileref(big_onnx)
11 casout={name='large_model', caslib='casuser', replace=true}
12 importOptions={fileType='binary'};
13RUN; QUIT;

Étapes de réalisation

1
Laden des großen BLOB-Objekts in den Speicher.
Kopiert!
1PROC CAS;
2 TABLE.fetch / TABLE={caslib='casuser', name='large_model'} to=1 fetchVars={'_blob_'} RESULT=r;
3 large_blob = r.Fetch.Rows[1][1];
4RUN;
2
Aufruf der Validierung für das große Modell.
Kopiert!
1PROC CAS;
2 aStore.check RESULT=res / onnx=large_blob;
3 PRINT 'Check-Vorgang für großes Modell beendet.';
4RUN; QUIT;

Erwartetes Ergebnis


Das System muss das große BLOB-Objekt stabil handhaben. Auch wenn der Inhalt (Null-Bytes) ungültig ist, darf die CAS-Session nicht abstürzen (Segmentation Fault), sondern muss eine saubere Fehlermeldung über das Format zurückgeben.