Geração de Dados Sintéticos
Gere dados sintéticos usando geradores aleatórios, algoritmos, modelos estatísticos e Modelos de Linguagem Grande (LLMs) para simular dados reais para desenvolver e testar soluções de forma eficaz.
Os dados sintéticos podem ser uma ferramenta poderosa ao desenvolver e testar soluções, especialmente quando os dados reais ainda não existem ou não podem ser usados. Dados sintéticos, ou gerados artificialmente, podem ter muitas das características de dados reais. Os dados sintéticos são normalmente criados usando geradores aleatórios, algoritmos ou modelos estatísticos para simular as características e distribuições de dados reais. No entanto, isso pode ser complexo para produzir ou confiar em ferramentas com recursos de sofisticação variada. Com a disponibilidade de Modelos de Linguagem Grande (LLMs), podem ser gerados dados mais relevantes e específicos do esquema que considerem características expressas em linguagem natural.
Tópicos
- Benefícios da Geração de Dados Sintéticos
A geração de dados sintéticos permite preencher clones de metadados do banco de dados, dar suporte a projetos de desenvolvimento, teste e aprendizado de máquina sem usar dados confidenciais de tabelas originais. - Gerar Dados Sintéticos
Use a funçãoDBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
para gerar dados sintéticos e consultar os dados usando ações Selecionar AI. - Monitorar e Solucionar Problemas de Geração de Dados Sintéticos
Ao gerar grandes volumes de dados em muitas tabelas, o Select AI divide as tarefas de geração de dados sintéticos em blocos menores e executa tarefas em paralelo. O status de cada bloco é rastreado na tabelaSYNTHETIC_DATA$<operation_id>_STATUS
.
Benefícios da Geração de Dados Sintéticos
A geração de dados sintéticos permite preencher clones de metadados do banco de dados, dar suporte a projetos de desenvolvimento, teste e machine learning sem usar dados confidenciais de tabelas originais.
-
Preenchendo clones de metadados com dados sintéticos: Um clone de metadados replica a estrutura de um banco de dados ou esquema sem incluir dados reais. O Select AI permite que a geração de dados sintéticos preencha esses clones, protegendo dados confidenciais e permitindo o desenvolvimento, o teste e a criação de modelos. Essa abordagem suporta testes de desempenho e escalabilidade.
-
Iniciando novos projetos: Ao iniciar um novo projeto, os dados reais podem não estar disponíveis. Os dados sintéticos fornecem amostras realistas para ajudar a demonstrar conceitos e obter suporte para propostas de projetos.
-
Validação da experiência do usuário: Os dados sintéticos auxiliam no teste de interfaces do usuário, fornecendo diversos conjuntos de dados para descobrir falhas de design, desempenho e problemas de escalabilidade.
-
Suporte a projetos de IA e machine learning: Os dados sintéticos são úteis para treinar modelos de IA e machine learning quando dados reais estão indisponíveis ou restritos. Os LLMs podem gerar dados com padrões específicos para facilitar o treinamento e a pontuação do modelo.
Tópico principal: Geração de Dados Sintéticos
Gerar Dados Sintéticos
Use a função DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
para gerar dados sintéticos e consultar os dados usando ações Selecionar AI.
Para saber mais, consulte Função GENERATE_SYNTHETIC_DATA e Exemplo: Gerar Dados Sintéticos.
Tópico principal: Geração de Dados Sintéticos
Monitorar e Solucionar Problemas de Geração de Dados Sintéticos
Ao gerar grandes volumes de dados em muitas tabelas, o Select AI divide as tarefas de geração de dados sintéticos em partes menores e executa tarefas em paralelo. O status de cada bloco é rastreado na tabela SYNTHETIC_DATA$<operation_id>_STATUS
.
As operações de geração de dados sintéticos são registradas nas tabelas DBA_LOAD_OPERATIONS
e USER_LOAD_OPERATIONS
. Use essas tabelas para monitorar a operação DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA
. Consulte Rastrear Operações de Carga DBMS_CLOUD para obter mais detalhes.
USER_LOAD_OPERATION
usando o seguinte:SELECT max(id) FROM user_load_operations;
Para exibir as operações de dados sintéticos em execução em outra sessão, use a view DBA_LOAD_OPERATIONS
.
Exibir Status da Geração de Dados Sintéticos
A tabela de status da operação de geração de dados sintéticos mostra o andamento de cada tabela e seu bloco correspondente. A coluna STATUS_TABLE
em USER_LOAD_OPERATIONS
ou DBA_LOAD_OPERATIONS
mostra o nome da tabela de status. O nome da tabela é SYNTHETIC_DATA$<operation_id>_STATUS
e tem as seguintes colunas:
Nome | Tipo de dados | Descrição |
---|---|---|
|
|
Identificador exclusivo do registro. |
|
|
Nome qualificado da tabela, como "ADB_USER"."EMPLOYEES" |
|
|
Número desejado de registros para esta tarefa de geração de dados |
|
|
Número real de registros gerados. |
|
|
Valor inicial da chave primária durante esta tarefa de geração de dados. |
|
|
Timestamp indicando quando o registro foi modificado pela última vez. |
|
|
Status da tarefa de geração de dados. Os valores válidos são:
|
|
|
Código de erro, se a tarefa de geração de dados falhar. |
|
|
Mensagem de erro fornecida se a tarefa falhar. |
|
|
Timestamp marcando o fim da tarefa de geração de dados. |
Para verificar o número de registros gerados para cada tabela, execute o seguinte:
SELECT name, SUM(rows_loaded) FROM synthetic_data$<operation_id>_status group by name;
Consulte ROWS_LOADED
para confirmar o número de linhas carregadas para cada bloco e SUM(ROWS_LOADED)
para linhas de cada tabela.
BEGIN
DBMS_CLOUD_AI.GENERATE_SYNTHETIC_DATA(
profile_name => 'GENAI',
object_list => '[{"owner": "ADB_USER", "name": "DIRECTOR","record_count":150},
{"owner": "ADB_USER", "name": "MOVIE_ACTOR","record_count":300},
{"owner": "ADB_USER", "name": "CLASSES", "user_prompt":"all in fall semester","record_count":5},
{"owner": "ADB_USER", "name": "ACTOR","record_count":220},
{"owner": "ADB_USER", "name": "MOVIE","record_count":50}]'
);
END;
/
-- Check loaded rows for each chunk
SQL> SELECT name, rows_loaded FROM synthetic_data$141_status order by name;
NAME ROWS_LOADED
------------------------------------------
"ADB_USER"."ACTOR" 188
"ADB_USER"."ACTOR" 32
"ADB_USER"."CLASSES" 5
"ADB_USER"."DIRECTOR" 150
"ADB_USER"."MOVIE" 50
"ADB_USER"."MOVIE_ACTOR" 38
"ADB_USER"."MOVIE_ACTOR" 114
"ADB_USER"."MOVIE_ACTOR" 148
-- Check loaded rows for each table
SQL> SELECT name, SUM(rows_loaded) FROM synthetic_data$141_status group by name;
NAME SUM(ROWS_LOADED)
------------------------------------------
"ADB_USER"."DIRECTOR" 150
"ADB_USER"."MOVIE_ACTOR" 300
"ADB_USER"."CLASSES" 5
"ADB_USER"."ACTOR" 220
"ADB_USER"."MOVIE" 50
Tópico principal: Geração de Dados Sintéticos