Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo dell'apprendimento automatico di Amazon Aurora con Aurora My SQL
Utilizzando l'apprendimento automatico di Amazon Aurora con il tuo cluster Aurora My SQL DB, puoi usare Amazon Bedrock, Amazon Comprehend o Amazon SageMaker, a seconda delle tue esigenze. Ciascuno di essi supporta diversi casi d'uso dell'apprendimento automatico.
Indice
- Requisiti per l'utilizzo dell'apprendimento automatico di Aurora con Aurora My SQL
- Disponibilità di regioni e versioni
- Funzionalità e limitazioni supportate dell'apprendimento automatico di Aurora con Aurora My SQL
- Configurazione del cluster Aurora My SQL DB per utilizzare l'apprendimento automatico Aurora
- Utilizzo di Amazon Bedrock con il cluster Aurora My DB SQL
- Utilizzo di Amazon Comprehend con il cluster Aurora My DB SQL
- Utilizzo SageMaker con il cluster Aurora My DB SQL
- Considerazioni sulle prestazioni per l'utilizzo del machine learning di Aurora con Aurora My SQL
- Monitoraggio del machine learning di Aurora
Requisiti per l'utilizzo dell'apprendimento automatico di Aurora con Aurora My SQL
AWS i servizi di apprendimento automatico sono servizi gestiti che vengono configurati ed eseguiti nei propri ambienti di produzione. L'apprendimento automatico Aurora supporta l'integrazione con Amazon Bedrock, Amazon Comprehend e. SageMaker Prima di provare a configurare il cluster Aurora My SQL DB per utilizzare l'apprendimento automatico di Aurora, assicurati di comprendere i seguenti requisiti e prerequisiti.
-
I servizi di machine learning devono essere eseguiti nello Regione AWS stesso cluster Aurora My SQL DB. Non è possibile utilizzare i servizi di machine learning di un cluster Aurora My SQL DB in un'altra regione.
-
Se il cluster Aurora My SQL DB si trova in un cloud pubblico virtuale (VPC) diverso da Amazon Bedrock, Amazon Comprehend o SageMaker servizio, il gruppo Security deve consentire le connessioni in uscita al servizio VPC di machine learning Aurora di destinazione. Per ulteriori informazioni, consulta Controlla il traffico verso AWS le tue risorse utilizzando i gruppi di sicurezza nella Amazon VPC User Guide.
-
Puoi aggiornare un cluster Aurora che esegue una versione precedente di Aurora My SQL a una versione superiore supportata se desideri utilizzare l'apprendimento automatico Aurora con quel cluster. Per ulteriori informazioni, consulta Aggiornamenti del motore di database per Amazon Aurora My SQL.
-
Il cluster Aurora My SQL DB deve utilizzare un gruppo di parametri del cluster DB personalizzato. Al termine del processo di configurazione per ogni servizio di machine learning Aurora che desideri utilizzare, aggiungi l'Amazon Resource Name (ARN) del IAM ruolo associato che è stato creato per il servizio. Ti consigliamo di creare SQL in anticipo un gruppo di parametri del cluster DB personalizzato per Aurora My DB e di configurare il cluster Aurora My SQL DB per utilizzarlo in modo che sia pronto per essere modificato al termine del processo di configurazione.
-
Per: SageMaker
-
I componenti di machine learning che si desidera utilizzare per le inferenze devono essere configurati e pronti per l'uso. Durante il processo di configurazione del cluster Aurora My SQL DB, assicurati ARN di avere a disposizione l' SageMaker endpoint. I data scientist del tuo team sono probabilmente i più adatti a gestire la preparazione dei modelli e la gestione di altre attività simili. SageMaker Per iniziare a usare Amazon SageMaker, consulta Get Started with Amazon SageMaker. Per ulteriori informazioni su inferenze ed endpoint, consulta Real-time inference (Inferenza in tempo reale).
-
Per utilizzarlo SageMaker con i tuoi dati di addestramento, devi configurare un bucket Amazon S3 come parte della tua configurazione Aurora My SQL per Aurora Machine Learning. A tale scopo, segui la stessa procedura generale utilizzata per la configurazione dell'integrazione. SageMaker Per un riepilogo di questo processo di configurazione facoltativo, consultare Configurazione del cluster Aurora My SQL DB per l'utilizzo di Amazon S3 (opzionale) SageMaker .
-
-
Per i database globali di Aurora, configuri i servizi di machine learning di Aurora che desideri utilizzare in tutto ciò Regioni AWS che compone il tuo database globale Aurora. Ad esempio, se desideri utilizzare l'apprendimento automatico di Aurora SageMaker per il tuo database globale Aurora, esegui le seguenti operazioni per ogni cluster Aurora My DB in ogni: SQL Regione AWS
-
Configura i SageMaker servizi Amazon con gli stessi modelli di SageMaker formazione e gli stessi endpoint. Anche questi devono utilizzare gli stessi nomi.
-
Crea i IAM ruoli come descritto inConfigurazione del cluster Aurora My SQL DB per utilizzare l'apprendimento automatico Aurora.
-
Aggiungi il IAM ruolo al gruppo ARN di parametri del cluster DB personalizzato per ogni cluster Aurora My SQL DB in ogni. Regione AWS
Queste attività richiedono che l'apprendimento automatico di Aurora sia disponibile per la tua versione di Aurora My SQL in tutti gli elementi Regioni AWS che compongono il tuo database globale di Aurora.
-
Disponibilità di regioni e versioni
La disponibilità e il supporto della funzionalità varia tra le versioni specifiche di ciascun motore di database Aurora e tra Regioni AWS.
-
Per informazioni sulla disponibilità della versione e della regione per Amazon Comprehend e Amazon with SageMaker Aurora My, consulta. SQL Apprendimento automatico Aurora con Aurora My SQL
-
Amazon Bedrock è supportato solo su Aurora SQL My versione 3.06 e successive.
Per informazioni sulla disponibilità regionale per Amazon Bedrock, consulta Model support by Regione AWS nella Amazon Bedrock User Guide.
Funzionalità e limitazioni supportate dell'apprendimento automatico di Aurora con Aurora My SQL
Quando si utilizza Aurora My con SQL Aurora Machine Learning, si applicano le seguenti limitazioni:
-
L'estensione Aurora per l'apprendimento automatico non supporta le interfacce vettoriali.
-
Le integrazioni di machine learning di Aurora non sono supportate se utilizzate in un trigger.
Le funzioni di machine learning di Aurora non sono compatibili con la replica di registrazione binaria (binlog).
-
L'impostazione
--binlog-format=STATEMENT
genera un'eccezione per le chiamate alle funzioni Aurora machine learning. -
Le funzioni di machine Learning di Aurora sono non deterministiche e le funzioni archiviate non deterministiche non sono compatibili con il formato binlog.
Per ulteriori informazioni, consulta Binary Logging Formats nella documentazione personale
. SQL -
-
Le funzioni archiviate che chiamano tabelle con colonne sempre generate non sono supportate. Questo vale per qualsiasi funzione SQL memorizzata di Aurora My. Per ulteriori informazioni su questo tipo di colonna, consulta CREATETABLEe Colonne generate
nella SQL documentazione personale. -
Le funzioni di Amazon Bedrock non sono
RETURNS JSON
supportate. Puoi utilizzareCONVERT
o convertire daCAST
TEXT
a,JSON
se necessario. -
Amazon Bedrock non supporta le richieste in batch.
-
Aurora My SQL supporta qualsiasi SageMaker endpoint che legge e scrive il formato value () CSV separato da virgole, tramite un di.
ContentType
text/csv
Questo formato è accettato dai seguenti algoritmi integrati: SageMaker-
Linear Learner
-
Random Cut Forest
-
XGBoost
Per ulteriori informazioni su questi algoritmi, consulta Choose an Algorithm nella Amazon SageMaker Developer Guide.
-
Configurazione del cluster Aurora My SQL DB per utilizzare l'apprendimento automatico Aurora
Nei seguenti argomenti sono illustrate le procedure di configurazione separate per ciascuno di questi servizi di machine learning di Aurora.
Argomenti
Configurazione del cluster Aurora My SQL DB per l'utilizzo di Amazon Bedrock
L'apprendimento automatico Aurora si basa su AWS Identity and Access Management (IAM) ruoli e policy per consentire al cluster Aurora My SQL DB di accedere e utilizzare i servizi Amazon Bedrock. Le seguenti procedure creano una politica e un ruolo di IAM autorizzazione in modo che il cluster DB possa integrarsi con Amazon Bedrock.
Per creare la policy IAM
Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Scegli Politiche nel riquadro di navigazione.
-
Scegliere Create a policy (Crea una policy).
-
Nella pagina Specificare le autorizzazioni, per Seleziona un servizio, scegli Bedrock.
Vengono visualizzate le autorizzazioni di Amazon Bedrock.
-
Espandi Leggi, quindi seleziona. InvokeModel
-
Per Risorse, seleziona Tutto.
La pagina Specificare le autorizzazioni dovrebbe essere simile alla figura seguente.
-
Scegli Next (Successivo).
-
Nella pagina Rivedi e crea, inserisci un nome per la tua politica, ad esempio
BedrockInvokeModel
. -
Rivedi la tua politica, quindi scegli Crea politica.
Successivamente crei il IAM ruolo che utilizza la politica di autorizzazione di Amazon Bedrock.
Per creare il ruolo IAM
Accedi a AWS Management Console e apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione scegliere Roles (Ruoli).
-
Scegliere Crea ruolo.
-
Nella pagina Seleziona un'entità affidabile, in Caso d'uso, scegli RDS.
-
Seleziona RDS- Aggiungi ruolo al database, quindi scegli Avanti.
-
Nella pagina Aggiungi autorizzazioni, per Politiche di autorizzazione, seleziona la IAM politica che hai creato, quindi scegli Avanti.
-
Nella pagina Nome, rivedi e crea, inserisci un nome per il tuo ruolo, ad esempio.
ams-bedrock-invoke-model-role
Il ruolo dovrebbe essere simile alla figura seguente.
-
Rivedi il tuo ruolo, quindi scegli Crea ruolo.
Successivamente associ il IAM ruolo Amazon Bedrock al tuo cluster DB.
Per associare il IAM ruolo al tuo cluster DB
Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel pannello di navigazione seleziona Database.
-
Scegli il cluster Aurora My SQL DB che desideri connettere ai servizi Amazon Bedrock.
-
Sceglere la scheda Connectivity & security (Connettività e sicurezza).
-
Nella sezione Gestisci IAM ruoli, scegli Seleziona IAM per aggiungere a questo cluster.
-
Scegli quello IAM che hai creato, quindi scegli Aggiungi ruolo.
Il IAM ruolo è associato al cluster DB, prima con lo stato In sospeso, quindi Attivo. Una volta completato il processo, puoi trovare il ruolo nell'elenco IAMRuoli correnti per questo cluster.
È necessario aggiungere questo IAM ruolo al aws_default_bedrock_role
parametro del gruppo di parametri del cluster DB personalizzato associato al cluster Aurora My SQL DB. ARN Se il cluster Aurora My SQL DB non utilizza un gruppo di parametri del cluster DB personalizzato, è necessario crearne uno da utilizzare con il cluster Aurora My SQL DB per completare l'integrazione. Per ulteriori informazioni, consulta Gruppi di parametri del cluster DB per i cluster Amazon Aurora DB.
Per configurare il parametro del cluster DB
-
Nella RDS console Amazon, apri la scheda Configurazione del tuo cluster Aurora My SQL DB.
-
Individua il gruppo di parametri del cluster DB configurato per il tuo cluster. Scegli il link per aprire il gruppo di parametri del cluster DB personalizzato, quindi scegli Modifica.
-
Individua il parametro
aws_default_bedrock_role
nel gruppo di parametri cluster database personalizzato. -
Nel campo Valore, inserisci ARN il IAM ruolo.
-
Scegli Salva modifiche per salvare l'impostazione.
-
Riavvia l'istanza principale del cluster Aurora SQL My DB in modo che questa impostazione dei parametri abbia effetto.
L'IAMintegrazione per Amazon Bedrock è completa. Continua a configurare il tuo cluster Aurora My SQL DB per l'utilizzo con Amazon Bedrock entro. Concessione agli utenti del database dell'accesso a machine learning di Aurora
Configurazione del cluster Aurora My SQL DB per utilizzare Amazon Comprehend
L'apprendimento automatico Aurora si basa su AWS Identity and Access Management ruoli e policy per consentire al cluster Aurora My SQL DB di accedere e utilizzare i servizi Amazon Comprehend. La procedura seguente crea automaticamente un IAM ruolo e una policy per il cluster in modo che possa utilizzare Amazon Comprehend.
Per configurare il cluster Aurora My SQL DB per utilizzare Amazon Comprehend
Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. -
Nel pannello di navigazione seleziona Database.
-
Scegli il cluster Aurora My SQL DB che desideri connettere ai servizi Amazon Comprehend.
-
Sceglere la scheda Connectivity & security (Connettività e sicurezza).
-
Nella sezione Gestisci IAM ruoli, scegli Seleziona un servizio per connetterti a questo cluster.
-
Scegli Amazon Comprehend dal menu, quindi scegli il servizio Connect.
La finestra di dialogo Connetti il cluster ad Amazon Comprehend non richiede informazioni aggiuntive. Tuttavia, è possibile che venga visualizzato un messaggio che segnala che l'integrazione tra Aurora e Amazon Comprehend è al momento è in fase di anteprima. Assicurati di leggere il messaggio prima di continuare. Puoi scegliere Annulla se preferisci non procedere.
Scegli Connetti un servizio per completare il processo di integrazione.
Aurora crea il ruolo. IAM Crea inoltre la policy che consente al cluster Aurora My SQL DB di utilizzare i servizi Amazon Comprehend e allega la policy al ruolo. Una volta completato il processo, puoi trovare il ruolo nell'elenco IAMRuoli correnti per questo cluster, come mostrato nell'immagine seguente.
È necessario aggiungere questo IAM ruolo al
aws_default_comprehend_role
parametro del gruppo di parametri del cluster DB personalizzato associato al cluster Aurora My SQL DB. ARN Se il cluster Aurora My SQL DB non utilizza un gruppo di parametri del cluster DB personalizzato, è necessario crearne uno da utilizzare con il cluster Aurora My SQL DB per completare l'integrazione. Per ulteriori informazioni, consulta Gruppi di parametri del cluster DB per i cluster Amazon Aurora DB.Dopo aver creato il gruppo di parametri del cluster DB personalizzato e averlo associato al cluster Aurora SQL My DB, puoi continuare a seguire questi passaggi.
Se il cluster utilizza un gruppo di parametri cluster database personalizzato, procedi come descritto di seguito.
Nella RDS console Amazon, apri la scheda Configurazione del tuo cluster Aurora My SQL DB.
-
Individua il gruppo di parametri del cluster DB configurato per il tuo cluster. Scegli il link per aprire il gruppo di parametri del cluster DB personalizzato, quindi scegli Modifica.
Individua il parametro
aws_default_comprehend_role
nel gruppo di parametri cluster database personalizzato.Nel campo Valore, inserisci ARN il IAM ruolo.
Scegli Salva modifiche per salvare l'impostazione. Nell'immagine seguente, è disponibile un esempio.
Riavvia l'istanza principale del cluster Aurora SQL My DB in modo che questa impostazione dei parametri abbia effetto.
L'IAMintegrazione per Amazon Comprehend è completa. Continua a configurare il tuo cluster Aurora My SQL DB per funzionare con Amazon Comprehend concedendo l'accesso agli utenti del database appropriati.
Configurazione del cluster Aurora My SQL DB da utilizzare SageMaker
La procedura seguente crea automaticamente il IAM ruolo e la policy per il cluster Aurora My SQL DB in modo che possa utilizzarlo. SageMaker Prima di provare a seguire questa procedura, assicurati di avere l' SageMaker endpoint disponibile in modo da poterlo inserire quando necessario. In genere, i data scientist del tuo team si occuperanno di produrre un endpoint che puoi usare dal tuo cluster Aurora SQL My DB. È possibile trovare tali endpoint nella console. SageMaker
Per configurare il cluster Aurora My SQL DB da utilizzare SageMaker
Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. -
Scegli Databases dal menu di RDS navigazione Amazon, quindi scegli il cluster Aurora My SQL DB che desideri connettere ai SageMaker servizi.
-
Sceglere la scheda Connectivity & security (Connettività e sicurezza).
-
Scorri fino alla sezione Gestisci IAM ruoli, quindi scegli Seleziona un servizio per connetterti a questo cluster. Scegli SageMakerdal selettore.
Scegliere Connect service (Connetti servizio).
Nella finestra di SageMaker dialogo Connect cluster to, inserisci ARN l' SageMaker endpoint.
-
Aurora crea il ruolo. IAM Crea inoltre la policy che consente al cluster Aurora My SQL DB di utilizzare SageMaker i servizi e allega la policy al ruolo. Una volta completato il processo, puoi trovare il ruolo nell'elenco IAMRuoli correnti per questo cluster.
Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. Scegli Ruoli dalla sezione Gestione degli accessi del menu di navigazione AWS Identity and Access Management .
Trova il ruolo tra quelli elencati. Il suo nome utilizza il seguente schema.
rds-sagemaker-
your-cluster-name
-role-auto-generated-digits
Apri la pagina di riepilogo del ruolo e individua ilARN. Prendi nota ARN o copialo utilizzando il widget di copia.
Apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. Scegli il tuo cluster Aurora My SQL DB, quindi scegli la scheda Configurazione.
Individua il gruppo di parametri cluster database e scegli il collegamento per aprire il gruppo di parametri cluster database personalizzato. Trova il
aws_default_sagemaker_role
parametro e inserisci il ARN IAM ruolo nel campo Valore e salva l'impostazione.Riavvia l'istanza principale del cluster Aurora SQL My DB in modo che questa impostazione dei parametri abbia effetto.
La IAM configurazione è ora completa. Continua a configurare il cluster Aurora My SQL DB con cui lavorare SageMaker concedendo l'accesso agli utenti del database appropriati.
Se desideri utilizzare i tuoi SageMaker modelli per la formazione anziché utilizzare SageMaker componenti predefiniti, devi anche aggiungere il bucket Amazon S3 al tuo cluster Aurora SQL My DB, come indicato di seguito. Configurazione del cluster Aurora My SQL DB per l'utilizzo di Amazon S3 (opzionale) SageMaker
Configurazione del cluster Aurora My SQL DB per l'utilizzo di Amazon S3 (opzionale) SageMaker
Per utilizzarlo SageMaker con i tuoi modelli anziché utilizzare i componenti predefiniti forniti da SageMaker, devi configurare un bucket Amazon S3 per l'utilizzo del cluster Aurora My DBSQL. Per ulteriori informazioni sulla creazione di un bucket Amazon S3, consultaCreazione di un bucketnellaGuida all'utente di Amazon Simple Storage Service.
Per configurare il cluster Aurora My SQL DB per utilizzare un bucket Amazon S3 per SageMaker
Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/
. -
Scegli Databases dal menu di RDS navigazione Amazon, quindi scegli il cluster Aurora My SQL DB che desideri connettere ai SageMaker servizi.
-
Sceglere la scheda Connectivity & security (Connettività e sicurezza).
-
Scorri fino alla sezione Gestisci IAM ruoli, quindi scegli Seleziona un servizio per connetterti a questo cluster. Scegli Amazon S3 dal selettore.
Scegliere Connect service (Connetti servizio).
Nella finestra di dialogo Connect cluster to Amazon S3, inserisci il ARN bucket Amazon S3, come mostrato nell'immagine seguente.
Scegli Connetti un servizio per completare questo processo.
Per ulteriori informazioni sull'utilizzo dei bucket Amazon S3 con SageMaker, consulta Specificare un bucket Amazon S3 per caricare set di dati di addestramento e archiviare i dati di output nella Amazon Developer Guide. SageMaker Per ulteriori informazioni su come lavorare con SageMaker, consulta la sezione Get Started with Amazon SageMaker Notebook Instances nella Amazon SageMaker Developer Guide.
Concessione agli utenti del database dell'accesso a machine learning di Aurora
Agli utenti del database deve essere concessa l'autorizzazione per richiamare le funzioni di machine learning di Aurora. La modalità di concessione dell'autorizzazione dipende dalla versione SQL di My utilizzata per il cluster Aurora My SQL DB, come descritto di seguito. Il modo in cui eseguire SQL questa operazione dipende dalla versione di My utilizzata dal cluster Aurora My SQL DB.
Per Aurora My SQL versione 3 (compatibile con My SQL 8.0), agli utenti del database deve essere assegnato il ruolo di database appropriato. Per ulteriori informazioni, consulta Using Roles
in the My SQL 8.0 Reference Manual. Per Aurora My SQL versione 2 (compatibile con My SQL 5.7), agli utenti del database vengono concessi privilegi. Per ulteriori informazioni, consulta Controllo degli accessi e gestione degli account nel manuale
di riferimento My SQL 5.7.
La tabella seguente mostra i ruoli e i privilegi necessari agli utenti del database per utilizzare le funzioni di machine learning.
Aurora La mia SQL versione 3 (ruolo) | Aurora La mia SQL versione 2 (privilegio) |
---|---|
AWS_BEDROCK_ACCESS |
– |
AWS_COMPREHEND_ACCESS |
INVOKE COMPREHEND |
AWS_SAGEMAKER_ACCESS |
INVOKE SAGEMAKER |
Concessione dell'accesso alle funzioni di Amazon Bedrock
Per consentire agli utenti del database di accedere alle funzioni di Amazon Bedrock, utilizza la seguente SQL dichiarazione:
GRANT AWS_BEDROCK_ACCESS TO
user
@domain-or-ip-address
;
Agli utenti del database devono inoltre essere concesse EXECUTE
le autorizzazioni per le funzioni che crei per lavorare con Amazon Bedrock:
GRANT EXECUTE ON FUNCTION
database_name
.function_name
TOuser
@domain-or-ip-address
;
Infine, gli utenti del database devono avere i ruoli impostati su: AWS_BEDROCK_ACCESS
SET ROLE AWS_BEDROCK_ACCESS;
Le funzioni di Amazon Bedrock sono ora disponibili per l'uso.
Concessione dell'accesso alle funzioni Amazon Comprehend
Per consentire agli utenti del database di accedere alle funzioni di Amazon Comprehend, usa l'istruzione appropriata per la tua versione di Aurora My. SQL
Aurora My SQL versione 3 (compatibile con My SQL 8.0)
GRANT AWS_COMPREHEND_ACCESS TO
user
@domain-or-ip-address
;Aurora My SQL versione 2 (compatibile con My SQL 5.7)
GRANT INVOKE COMPREHEND ON *.* TO
user
@domain-or-ip-address
;
Le funzioni di Amazon Comprehend sono ora disponibili per l'uso. Per esempi di utilizzo, consultare Utilizzo di Amazon Comprehend con il cluster Aurora My DB SQL.
Concessione dell'accesso alle funzioni SageMaker
Per consentire agli utenti del database di accedere alle SageMaker funzioni, usa l'istruzione appropriata per la tua versione di Aurora MySQL.
Aurora My SQL versione 3 (compatibile con My SQL 8.0)
GRANT AWS_SAGEMAKER_ACCESS TO
user
@domain-or-ip-address
;Aurora My SQL versione 2 (compatibile con My SQL 5.7)
GRANT INVOKE SAGEMAKER ON *.* TO
user
@domain-or-ip-address
;
Agli utenti del database devono inoltre essere concesse EXECUTE
le autorizzazioni per le funzioni create con cui lavorare. SageMaker Supponiamo di aver creato due funzioni db1.anomoly_score
e di richiamare db2.company_forecasts
i servizi del tuo endpoint. SageMaker Concedete i privilegi di esecuzione come illustrato nell'esempio seguente.
GRANT EXECUTE ON FUNCTION db1.anomaly_score TO
user1
@domain-or-ip-address1
; GRANT EXECUTE ON FUNCTION db2.company_forecasts TOuser2
@domain-or-ip-address2
;
Le SageMaker funzioni sono ora disponibili per l'uso. Per esempi di utilizzo, consultare Utilizzo SageMaker con il cluster Aurora My DB SQL.
Utilizzo di Amazon Bedrock con il cluster Aurora My DB SQL
Per usare Amazon Bedrock, crei una funzione definita dall'utente (UDF) nel tuo SQL database Aurora My che richiama un modello. Per ulteriori informazioni, consulta la sezione Modelli supportati in Amazon Bedrock nella Amazon Bedrock User Guide.
A UDF utilizza la seguente sintassi:
CREATE FUNCTION
function_name
(argument
type
) [DEFINER = user] RETURNSmysql_data_type
[SQL SECURITY {DEFINER | INVOKER}] ALIAS AWS_BEDROCK_INVOKE_MODEL MODEL ID 'model_id
' [CONTENT_TYPE 'content_type
'] [ACCEPT 'content_type
'] [TIMEOUT_MStimeout_in_milliseconds
];
-
Le funzioni di Amazon Bedrock non sono
RETURNS JSON
supportate. Puoi utilizzareCONVERT
o convertire daCAST
TEXT
a,JSON
se necessario. -
Se non specifichi
CONTENT_TYPE
oACCEPT
, l'impostazione predefinita èapplication/json
. -
Se non si specifica
TIMEOUT_MS
,aurora_ml_inference_timeout
viene utilizzato il valore per.
Ad esempio, quanto segue UDF richiama il modello Amazon Titan Text Express:
CREATE FUNCTION invoke_titan (request_body TEXT) RETURNS TEXT ALIAS AWS_BEDROCK_INVOKE_MODEL MODEL ID 'amazon.titan-text-express-v1' CONTENT_TYPE 'application/json' ACCEPT 'application/json';
Per consentire a un utente DB di utilizzare questa funzione, usa il seguente comando: SQL
GRANT EXECUTE ON FUNCTION
database_name
.invoke_titan TOuser
@domain-or-ip-address
;
Quindi l'utente può chiamare invoke_titan
come qualsiasi altra funzione, come mostrato nell'esempio seguente. Assicurati di formattare il corpo della richiesta in base ai modelli di testo di Amazon Titan.
CREATE TABLE prompts (request varchar(1024)); INSERT INTO prompts VALUES ( '{ "inputText": "Generate synthetic data for daily product sales in various categories - include row number, product name, category, date of sale and price. Produce output in JSON format. Count records and ensure there are no more than 5.", "textGenerationConfig": { "maxTokenCount": 1024, "stopSequences": [], "temperature":0, "topP":1 } }'); SELECT invoke_titan(request) FROM prompts; {"inputTextTokenCount":44,"results":[{"tokenCount":296,"outputText":" ```tabular-data-json { "rows": [ { "Row Number": "1", "Product Name": "T-Shirt", "Category": "Clothing", "Date of Sale": "2024-01-01", "Price": "$20" }, { "Row Number": "2", "Product Name": "Jeans", "Category": "Clothing", "Date of Sale": "2024-01-02", "Price": "$30" }, { "Row Number": "3", "Product Name": "Hat", "Category": "Accessories", "Date of Sale": "2024-01-03", "Price": "$15" }, { "Row Number": "4", "Product Name": "Watch", "Category": "Accessories", "Date of Sale": "2024-01-04", "Price": "$40" }, { "Row Number": "5", "Product Name": "Phone Case", "Category": "Accessories", "Date of Sale": "2024-01-05", "Price": "$25" } ] } ```","completionReason":"FINISH"}]}
Per gli altri modelli che utilizzi, assicurati di formattare il corpo della richiesta in modo appropriato per loro. Per ulteriori informazioni, consulta i parametri di inferenza per i modelli di base nella Amazon Bedrock User Guide.
Utilizzo di Amazon Comprehend con il cluster Aurora My DB SQL
Per Aurora My, l'apprendimento automatico di SQL Aurora offre le seguenti due funzioni integrate per lavorare con Amazon Comprehend e i tuoi dati di testo. Viene fornito il testo da analizzare (input_data
) e specificata la lingua (language_code
).
- aws_comprehend_detect_sentiment
-
Questa funzione identifica il testo come avente un assetto emotivo positivo, negativo, neutro o misto. La documentazione di riferimento di questa funzione è la seguente.
aws_comprehend_detect_sentiment( input_text, language_code [,max_batch_size] )
Per ulteriori informazioni, consultare Sentiment nella Guida per gli sviluppatori di Amazon Comprehend.
- aws_comprehend_detect_sentiment_confidence
-
Questa funzione misura il livello di affidabilità del sentiment rilevato per un determinato testo. Restituisce un valore (tipo,
double
) che indica l'affidabilità del sentiment assegnato dalla funzione aws_comprehend_detect_sentiment al testo. L'affidabilità è un parametro statistico compreso tra 0 e 1. Più alto è il livello di affidabilità, maggiore è il peso che è possibile assegnare al risultato. Di seguito è riportato un riepilogo della documentazione della funzione.aws_comprehend_detect_sentiment_confidence( input_text, language_code [,max_batch_size] )
In entrambe le funzioni (aws_comprehend_detect_sentiment_confidence, aws_comprehend_detect_sentiment) il parametro max_batch_size
utilizza un valore predefinito pari a 25, se uno non è stato specificato. La dimensione del batch deve essere sempre maggiore di zero. max_batch_size
può essere utilizzato per ottimizzare le prestazioni delle chiamate di funzione Amazon Comprehend. Un batch di grandi dimensioni compromette prestazioni più veloci con un maggiore utilizzo della memoria sul cluster Aurora SQL My DB. Per ulteriori informazioni, consulta Considerazioni sulle prestazioni per l'utilizzo del machine learning di Aurora con Aurora My SQL.
Per ulteriori informazioni sui parametri e sui tipi di rendimento per le funzioni di rilevamento del sentiment in Amazon Comprehend, consulta DetectSentiment
Esempio: una semplice query che utilizza funzioni Amazon Comprehend
Di seguito è riportato un esempio di una semplice query che richiama queste due funzioni per determinare il livello di soddisfazione dei clienti per il team di supporto. Si supponga di avere una tabella di database (support
) che archivia il feedback dei clienti dopo ogni richiesta di assistenza. Questa query di esempio applica entrambe le funzioni integrate al testo nella colonna feedback
della tabella e restituisce i risultati. I valori di affidabilità restituiti dalla funzione sono double compresi tra 0,0 e 1,0. Per un output più leggibile, questa query arrotonda i risultati a 6 punti decimali. Per semplificare i confronti, questa query ordina inoltre i risultati in senso decrescente, a partire dal risultato con il massimo grado di affidabilità.
SELECT feedback AS 'Customer feedback', aws_comprehend_detect_sentiment(feedback, 'en') AS Sentiment, ROUND(aws_comprehend_detect_sentiment_confidence(feedback, 'en'), 6) AS Confidence FROM support ORDER BY Confidence DESC;
+----------------------------------------------------------+-----------+------------+ | Customer feedback | Sentiment | Confidence | +----------------------------------------------------------+-----------+------------+ | Thank you for the excellent customer support! | POSITIVE | 0.999771 | | The latest version of this product stinks! | NEGATIVE | 0.999184 | | Your support team is just awesome! I am blown away. | POSITIVE | 0.997774 | | Your product is too complex, but your support is great. | MIXED | 0.957958 | | Your support tech helped me in fifteen minutes. | POSITIVE | 0.949491 | | My problem was never resolved! | NEGATIVE | 0.920644 | | When will the new version of this product be released? | NEUTRAL | 0.902706 | | I cannot stand that chatbot. | NEGATIVE | 0.895219 | | Your support tech talked down to me. | NEGATIVE | 0.868598 | | It took me way too long to get a real person. | NEGATIVE | 0.481805 | +----------------------------------------------------------+-----------+------------+ 10 rows in set (0.1898 sec)
Esempio: determinazione del sentiment medio per testo al di sopra di un livello di affidabilità specifico
Una query Amazon Comprehend tipica cerca le righe in cui il sentiment ha un determinato valore, con un livello di confidenza maggiore di un certo numero. Ad esempio, la query seguente mostra come è possibile determinare il sentiment medio dei documenti nel database. La query considera solo i documenti in cui la confidenza della valutazione è almeno dell'80%.
SELECT AVG(CASE aws_comprehend_detect_sentiment(productTable.document, 'en') WHEN 'POSITIVE' THEN 1.0 WHEN 'NEGATIVE' THEN -1.0 ELSE 0.0 END) AS avg_sentiment, COUNT(*) AS total FROM productTable WHERE productTable.productCode = 1302 AND aws_comprehend_detect_sentiment_confidence(productTable.document, 'en') >= 0.80;
Utilizzo SageMaker con il cluster Aurora My DB SQL
Per utilizzare SageMaker le funzionalità del cluster Aurora My SQL DB, è necessario creare funzioni archiviate che incorporino le chiamate all' SageMakerendpoint e le sue funzionalità di inferenza. Puoi farlo utilizzando SQL My's CREATE FUNCTION
in genere nello stesso modo in cui lo fai per altre attività di elaborazione sul tuo cluster Aurora My SQL DB.
Per utilizzare i modelli distribuiti SageMaker per l'inferenza, create funzioni definite dall'utente utilizzando le istruzioni My SQL data definition language (DDL) per le funzioni memorizzate. Ogni funzione memorizzata rappresenta l' SageMaker endpoint che ospita il modello. Quando si definisce una funzione di questo tipo, si specificano i parametri di input per il modello, l' SageMaker endpoint specifico da richiamare e il tipo restituito. La funzione restituisce l'inferenza calcolata dall' SageMaker endpoint dopo aver applicato il modello ai parametri di input.
Tutte le funzioni archiviate Aurora Machine Learning restituiscono tipi numerici o VARCHAR
. È possibile utilizzare qualsiasi tipo numerico tranne BIT
. Altri tipi, ad esempio JSON
, BLOB
, TEXT
e DATE
non sono consentiti.
L'esempio seguente mostra la CREATE FUNCTION
sintassi con cui lavorare. SageMaker
CREATE FUNCTION function_name
(
arg1
type1
,
arg2
type2
, ...)
[DEFINER = user]
RETURNS mysql_type
[SQL SECURITY { DEFINER | INVOKER } ]
ALIAS AWS_SAGEMAKER_INVOKE_ENDPOINT
ENDPOINT NAME 'endpoint_name
'
[MAX_BATCH_SIZE max_batch_size
];
Questa è un'estensione dell'CREATE FUNCTION
DDListruzione regolare. Nell'CREATE FUNCTION
istruzione che definisce la SageMaker funzione, non si specifica il corpo della funzione. Specifica invece la parola chiave ALIAS
al posto del corpo della funzione. Attualmente, Aurora Machine Learning supporta solo aws_sagemaker_invoke_endpoint
per questa sintassi estesa. È necessario specificare il parametro endpoint_name
. Un SageMaker endpoint può avere caratteristiche diverse per ogni modello.
Nota
Per ulteriori informazioni suCREATE FUNCTION
, vedere CREATEPROCEDUREe CREATE FUNCTION Dichiarazioni
Il parametro max_batch_size
è facoltativo. Per impostazione predefinita, la dimensione batch massima è 10.000. È possibile utilizzare questo parametro nella funzione per limitare a il numero massimo di input elaborati in una richiesta in batch a. SageMaker Il max_batch_size
parametro può aiutare a evitare un errore causato da input troppo grandi o a SageMaker restituire una risposta più rapidamente. Questo parametro influisce sulla dimensione di un buffer interno utilizzato per l'elaborazione delle SageMaker richieste. Se specifichi un valore troppo grande per max_batch_size
, è possibile che si verifichi un notevole sovraccarico di memoria nell'istanza database.
Ti consigliamo di lasciare l'impostazione MANIFEST
sul valore predefinito OFF
. Sebbene sia possibile utilizzare l'MANIFEST ON
opzione, alcune SageMaker funzionalità non possono utilizzare direttamente i dati CSV esportati con questa opzione. Il formato manifesto non è compatibile con il formato manifesto previsto da SageMaker.
Crei una funzione memorizzata separata per ciascuno dei tuoi SageMaker modelli. Questa mappatura delle funzioni sui modelli è necessaria perché un endpoint è associato a un modello specifico e ciascun modello accetta parametri diversi. L'utilizzo dei SQL tipi per gli input del modello e il tipo di output del modello aiuta a evitare errori di conversione dei tipi nel trasferimento dei dati avanti e indietro tra i AWS servizi. È possibile controllare chi può applicare il modello. È inoltre possibile controllare le caratteristiche di runtime specificando un parametro che rappresenta la dimensione massima del batch.
Attualmente tutte le funzioni Aurora Machine Learning hanno la proprietà NOT DETERMINISTIC
. Se non specifichi la proprietà esplicitamente, Aurora imposta NOT DETERMINISTIC
automaticamente. Questo requisito è dovuto al fatto che il SageMaker modello può essere modificato senza alcuna notifica al database. In tal caso, le chiamate a una funzione Aurora Machine Learning potrebbero restituire risultati diversi per lo stesso input all'interno di una singola transazione.
Non puoi usare le caratteristiche CONTAINS SQL
, NO SQL
, READS SQL DATA
o MODIFIES SQL DATA
nell'istruzione CREATE
FUNCTION
.
Di seguito è riportato un esempio di utilizzo dell'invocazione di un SageMaker endpoint per rilevare anomalie. C'è un endpoint. SageMaker random-cut-forest-model
Il modello corrispondente è già stato addestrato dall'algoritmo random-cut-forest
. Per ogni input, il modello restituisce un punteggio di anomalia. Questo esempio mostra i punti dati il cui punteggio è maggiore di 3 deviazioni standard (circa il 99,9 percentile) dal punteggio medio.
CREATE FUNCTION anomaly_score(value real) returns real
alias aws_sagemaker_invoke_endpoint endpoint name 'random-cut-forest-model-demo';
set @score_cutoff = (select avg(anomaly_score(value)) + 3 * std(anomaly_score(value)) from nyc_taxi);
select *, anomaly_detection(value) score from nyc_taxi
where anomaly_detection(value) > @score_cutoff;
Requisito del set di caratteri per SageMaker le funzioni che restituiscono stringhe
Si consiglia di specificare un set di caratteri utf8mb4
come tipo restituito per le SageMaker funzioni che restituiscono valori di stringa. Se non è pratico, utilizza una lunghezza della stringa sufficiente per il tipo restituito per contenere un valore rappresentato nel set di caratteri utf8mb4
. L'esempio seguente mostra come dichiarare il set di caratteri utf8mb4
per la tua funzione.
CREATE FUNCTION my_ml_func(...) RETURNS VARCHAR(5) CHARSET utf8mb4 ALIAS ...
Attualmente, ogni SageMaker funzione che restituisce una stringa utilizza il set di caratteri utf8mb4
per il valore restituito. Il valore restituito utilizza questo set di caratteri anche se la SageMaker funzione dichiara un set di caratteri diverso per il tipo restituito in modo implicito o esplicito. Se la SageMaker funzione dichiara un set di caratteri diverso per il valore restituito, i dati restituiti potrebbero essere troncati automaticamente se li memorizzi in una colonna della tabella che non è sufficientemente lunga. Ad esempio, una query con una clausola DISTINCT
crea una tabella temporanea. Pertanto, il risultato della SageMaker funzione potrebbe essere troncato a causa del modo in cui le stringhe vengono gestite internamente durante una query.
Esportazione di dati su Amazon S3 SageMaker per la formazione dei modelli (Advanced)
Ti consigliamo di iniziare con l'apprendimento automatico di Aurora e SageMaker di utilizzare alcuni degli algoritmi forniti e che i data scientist del tuo team ti forniscano gli SageMaker endpoint che puoi utilizzare con il tuo codice. SQL Di seguito, puoi trovare informazioni minime sull'utilizzo del tuo bucket Amazon S3 con i tuoi SageMaker modelli e il tuo cluster Aurora My DB. SQL
La funzione machine learning comprende due fasi principali: training e inferenza. Per addestrare SageMaker i modelli, esporti i dati in un bucket Amazon S3. Il bucket Amazon S3 viene utilizzato da un'istanza di SageMaker notebook Jupyter per addestrare il modello prima della distribuzione. È possibile utilizzare l'SELECT INTO OUTFILE S3
istruzione per interrogare i dati da un cluster Aurora My SQL DB e salvarli direttamente in file di testo archiviati in un bucket Amazon S3. Quindi, l'istanza notebook utilizza i dati dal bucket Simple Storage Service (Amazon S3) per il training.
L'apprendimento automatico Aurora estende la SELECT INTO OUTFILE
sintassi esistente in Aurora My SQL per esportare i dati in formato. CSV Il CSV file generato può essere utilizzato direttamente dai modelli che richiedono questo formato per scopi di formazione.
SELECT * INTO OUTFILE S3 's3_uri
' [FORMAT {CSV|TEXT} [HEADER]] FROM table_name
;
L'estensione supporta il CSV formato standard.
-
Il formato
TEXT
è lo stesso del formato My SQL export esistente. Questo è il formato predefinito. -
CSV
Il formato è un formato di nuova introduzione che segue le specifiche in RFC-4180. -
Se si specifica la parola chiave facoltativa
HEADER
, il file di output contiene una riga di intestazione. Le etichette nella riga di intestazione corrispondono ai nomi di colonna dell'istruzioneSELECT
. -
Puoi sempre usare le parole chiave
CSV
eHEADER
come identificatori.
La sintassi estesa e la grammatica di SELECT INTO
ora sono le seguenti:
INTO OUTFILE S3 's3_uri
'
[CHARACTER SET charset_name
]
[FORMAT {CSV|TEXT} [HEADER]]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string
']
[[OPTIONALLY] ENCLOSED BY 'char
']
[ESCAPED BY 'char
']
]
[LINES
[STARTING BY 'string
']
[TERMINATED BY 'string
']
]
Considerazioni sulle prestazioni per l'utilizzo del machine learning di Aurora con Aurora My SQL
Amazon Bedrock, Amazon Comprehend SageMaker e i servizi svolgono la maggior parte del lavoro quando vengono richiamati da una funzione di machine learning Aurora. Ciò significa che è possibile dimensionare tali risorse in base alle esigenze, in modo indipendente. Per il tuo cluster Aurora My SQL DB, puoi rendere le chiamate di funzione il più efficienti possibile. Di seguito sono riportate alcune considerazioni sulle prestazioni da tenere presenti quando si utilizza machine learning di Aurora.
Modello e prompt
Le prestazioni quando si utilizza Amazon Bedrock dipendono in larga misura dal modello e dal prompt utilizzati. Scegli un modello e un prompt ottimali per il tuo caso d'uso.
Cache delle query
La cache Aurora My SQL query non funziona per le funzioni di machine learning di Aurora. Aurora My SQL non archivia i risultati delle query nella cache delle query per le SQL istruzioni che richiamano le funzioni di machine learning di Aurora.
Ottimizzazione batch per le chiamate di funzione Aurora Machine Learning
L'aspetto principale delle prestazioni Aurora Machine Learning che è possibile applicare dal cluster Aurora è l'impostazione della modalità batch per le chiamate alle funzioni archiviate Aurora Machine Learning. Le funzioni di machine learning in genere richiedono un sovraccarico considerevole, rendendo impossibile chiamare separatamente un servizio esterno per ogni riga. Il machine learning di Aurora può ridurre al minimo questo sovraccarico combinando le chiamate al servizio di machine learning Aurora esterno per molte righe in un singolo batch. Il machine learning di Aurora riceve le risposte per un batch di righe di input e quindi restituisce le risposte alla query in esecuzione una riga alla volta. Questa ottimizzazione migliora la velocità effettiva e la latenza delle query Aurora senza modificare i risultati.
Quando si crea una funzione memorizzata Aurora connessa a un SageMaker endpoint, si definisce il parametro della dimensione del batch. Questo parametro influenza il numero di righe trasferite per ogni chiamata sottostante a. SageMaker Per le query che elaborano un numero elevato di righe, il sovraccarico necessario per effettuare una SageMaker chiamata separata per ogni riga può essere notevole. Maggiore è il set di dati elaborato dalla stored procedure, maggiore è la dimensione del batch.
Se l'ottimizzazione in modalità batch può essere applicata a una SageMaker funzione, è possibile verificarlo controllando il piano di interrogazione prodotto dall'EXPLAIN PLAN
istruzione. In questo caso, la colonna extra
nel piano di esecuzione include Batched machine learning
. L'esempio seguente mostra una chiamata a una SageMaker funzione che utilizza la modalità batch.
mysql> CREATE FUNCTION anomaly_score(val real) returns real alias aws_sagemaker_invoke_endpoint endpoint name 'my-rcf-model-20191126';
Query OK, 0 rows affected (0.01 sec)
mysql> explain select timestamp, value, anomaly_score(value) from nyc_taxi;
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+--------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+--------------------------+
| 1 | SIMPLE | nyc_taxi | NULL | ALL | NULL | NULL | NULL | NULL | 48 | 100.00 | Batched machine learning |
+----+-------------+----------+------------+------+---------------+------+---------+------+------+----------+--------------------------+
1 row in set, 1 warning (0.01 sec)
Quando si chiama una delle funzioni Amazon Comprehend integrate, è possibile controllare la dimensione del batch specificando il parametro facoltativo max_batch_size
che limita il numero massimo di valori input_text
elaborati in ogni batch. L'invio di più elementi contemporaneamente riduce il numero di passaggi tra Aurora e Amazon Comprehend. Limitare la dimensione del batch è utile in situazioni come le query con una clausola LIMIT
. Utilizzando un valore basso per max_batch_size
, puoi evitare di invocare Amazon Comprehend più volte di quanti sono i testi di input.
L'ottimizzazione batch per la valutazione delle funzioni Aurora Machine Learning si applica nei seguenti casi:
-
Chiamate di funzioni all'interno dell'elenco di selezione o della
WHERE
clausola di istruzioniSELECT
-
Chiamate di funzione nell'
VALUES
elenco delle istruzioniINSERT
andREPLACE
-
SageMaker funzioni nei
SET
valori nelleUPDATE
istruzioni:INSERT INTO MY_TABLE (col1, col2, col3) VALUES (ML_FUNC(1), ML_FUNC(2), ML_FUNC(3)), (ML_FUNC(4), ML_FUNC(5), ML_FUNC(6)); UPDATE MY_TABLE SET col1 = ML_FUNC(col2), SET col3 = ML_FUNC(col4) WHERE ...;
Monitoraggio del machine learning di Aurora
È possibile monitorare le operazioni batch di machine learning di Aurora interrogando diverse variabili globali, come illustrato nell'esempio seguente.
show status like 'Aurora_ml%';
Lo stato di queste variabili può essere ripristinato utilizzando un'istruzione FLUSH STATUS
. Pertanto, tutte le cifre rappresentano i totali, le medie e così via, dall'ultima volta che la variabile è stata ripristinata.
Aurora_ml_logical_request_cnt
-
Il numero di richieste logiche valutate dall'istanza database per essere inviate ai servizi di machine learning di Aurora dall'ultimo ripristino dello stato. A seconda del fatto che sia stato utilizzato il batching, questo valore può essere superiore a
Aurora_ml_actual_request_cnt
. Aurora_ml_logical_response_cnt
-
Il numero di risposte aggregate che Aurora SQL My riceve dai servizi di machine learning Aurora su tutte le query eseguite dagli utenti dell'istanza DB.
Aurora_ml_actual_request_cnt
-
Il conteggio aggregato delle richieste che Aurora SQL My invia ai servizi di machine learning Aurora su tutte le query eseguite dagli utenti dell'istanza DB.
Aurora_ml_actual_response_cnt
-
Il numero di risposte aggregate che Aurora SQL My riceve dai servizi di machine learning Aurora su tutte le query eseguite dagli utenti dell'istanza DB.
Aurora_ml_cache_hit_cnt
-
Il numero aggregato di accessi alla cache interna che Aurora SQL My riceve dai servizi di machine learning Aurora su tutte le query eseguite dagli utenti dell'istanza DB.
Aurora_ml_retry_request_cnt
-
Il numero di richieste ripetute inviate dall'istanza database ai servizi di machine learning di Aurora dall'ultimo ripristino dello stato.
Aurora_ml_single_request_cnt
-
Il conteggio aggregato delle funzioni di machine learning di Aurora valutate in modalità non batch per tutte le query eseguite dagli utenti dell'istanza database.
Per informazioni sul monitoraggio delle prestazioni delle SageMaker operazioni richiamate dalle funzioni di machine learning di Aurora, consulta Monitor Amazon. SageMaker