|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
구조화된 생성적 AI는 생성적 AI 모델이 특정 형식의 출력을 생성할 수 있도록 지원합니다. 이 접근 방식은 토큰 선택을 유효한 옵션으로 제한하여 구문 오류를 방지하고 실행 가능한 쿼리와 구문 분석 가능한 데이터 구조를 보장합니다. 또한 구두점과 키워드의 일관된 토큰화는 모델이 학습해야 하는 패턴을 단순화하여 훈련 시간을 줄이고 정확도를 향상시킵니다. 구조화된 생성 AI는 출력 구조에 대한 지식을 활용하여 자연어를 다양한 구조화된 형식으로 번역하는 강력한 도구를 제공합니다.
Redefining Generative AI: Embracing Structure for Enhanced Output Precision
생성적 AI 재정의: 향상된 출력 정밀도를 위한 구조 수용
Introduction
소개
Generative AI, a transformative technology revolutionizing natural language processing, has made significant strides in generating coherent and grammatically sound text. However, when it comes to producing structured output, such as SQL queries or JSON data, generative AI often falters, succumbing to errors that hinder the execution or parsing of the generated code.
자연어 처리에 혁명을 일으키는 혁신적인 기술인 생성 AI(Generative AI)는 일관되고 문법적으로 건전한 텍스트를 생성하는 데 상당한 진전을 이루었습니다. 그러나 SQL 쿼리나 JSON 데이터와 같은 구조화된 출력을 생성할 때 생성 AI는 종종 불안정하여 생성된 코드의 실행이나 구문 분석을 방해하는 오류에 굴복합니다.
Enter Structured Generative AI
구조화된 생성 AI 도입
To overcome this limitation, we introduce the concept of "structured generative AI," a powerful technique that constrains the generative process within predefined formats, virtually eliminating syntax errors and ensuring the validity of the output. By leveraging the knowledge of the output language's structure, structured generative AI ensures that only legitimate tokens are considered during generation, effectively eliminating syntactical errors.
이러한 한계를 극복하기 위해 우리는 사전 정의된 형식 내에서 생성 프로세스를 제한하여 구문 오류를 사실상 제거하고 출력의 유효성을 보장하는 강력한 기술인 "구조화된 생성 AI" 개념을 도입합니다. 구조화된 생성 AI는 출력 언어 구조에 대한 지식을 활용하여 생성 중에 합법적인 토큰만 고려되도록 보장하여 구문 오류를 효과적으로 제거합니다.
Mechanism of Token Generation
토큰 생성 메커니즘
Generative AI models, such as transformer architectures, generate tokens sequentially, relying on the input and previously generated tokens to determine the next selection. At each step, a classifier assigns probability values to all tokens in the vocabulary, guiding the selection of the next token.
변환기 아키텍처와 같은 생성적 AI 모델은 입력 및 이전에 생성된 토큰을 기반으로 순차적으로 토큰을 생성하여 다음 선택을 결정합니다. 각 단계에서 분류자는 어휘의 모든 토큰에 확률 값을 할당하여 다음 토큰 선택을 안내합니다.
Constraining Token Generation
토큰 생성 제한
Structured generative AI incorporates knowledge of the output language's structure to limit token generation. Illegitimate tokens, such as incorrect punctuation or invalid keywords, have their probabilities set to infinity (negative infinity), effectively excluding them from consideration. For instance, if a valid SQL query requires a comma after "SELECT name," all other token probabilities are set to infinity, ensuring that only a comma can be selected.
구조화된 생성 AI는 출력 언어의 구조에 대한 지식을 통합하여 토큰 생성을 제한합니다. 잘못된 구두점이나 유효하지 않은 키워드와 같은 불법 토큰은 확률이 무한대(음의 무한대)로 설정되어 고려 대상에서 효과적으로 제외됩니다. 예를 들어 유효한 SQL 쿼리에서 "SELECT 이름" 뒤에 쉼표가 필요한 경우 다른 모든 토큰 확률은 무한대로 설정되어 쉼표만 선택할 수 있습니다.
Implementation with Hugging Face
포옹 얼굴을 이용한 구현
Hugging Face, a leading provider of pretrained models and tools for natural language processing, offers a convenient way to implement structured generative AI through its "logits processor" feature. This feature allows users to define a custom function that modifies the token probabilities after they have been calculated but before the final selection is made.
자연어 처리를 위한 사전 훈련된 모델과 도구를 제공하는 선두업체인 Hugging Face는 "로지트 프로세서" 기능을 통해 구조화된 생성 AI를 구현하는 편리한 방법을 제공합니다. 이 기능을 사용하면 사용자는 토큰 확률이 계산된 후 최종 선택이 이루어지기 전에 토큰 확률을 수정하는 사용자 정의 함수를 정의할 수 있습니다.
Example: SQL Query Generation
예: SQL 쿼리 생성
To demonstrate the power of structured generative AI, let's consider the task of generating SQL queries from natural language. We initialize a pretrained BART model and define a set of rules that specify which tokens are allowed to follow each other in a valid SQL query.
구조화된 생성 AI의 힘을 보여주기 위해 자연어에서 SQL 쿼리를 생성하는 작업을 고려해 보겠습니다. 사전 훈련된 BART 모델을 초기화하고 유효한 SQL 쿼리에서 어떤 토큰이 서로 따라갈 수 있는지 지정하는 규칙 세트를 정의합니다.
rules = {'': ['SELECT', 'DELETE'], # beginning of the generation규칙 = {'
'SELECT': ['name', 'email', 'id'], # names of columns in our schema'SELECT': ['name', 'email', 'id'], # 스키마의 열 이름
'DELETE': ['name', 'email', 'id'],'DELETE': ['이름', '이메일', 'ID'],
'name': [',', 'FROM'],'이름': [',', 'FROM'],
'email': [',', 'FROM'],'이메일': [',', '보낸 사람'],
'id': [',', 'FROM'],'id': [',', 'FROM'],
',': ['name', 'email', 'id'],',': ['이름', '이메일', 'ID'],
'FROM': ['customers', 'vendors'], # names of tables in our schema'FROM': ['customers', 'vendors'], # 스키마의 테이블 이름
'customers': [''],'고객': ['
'vendors': [''], # end of the generation}
Using these rules, we create a logits processor that converts the rules into token IDs and modifies the token probabilities accordingly.
'공급업체': ['
Results: Enhanced SQL Query Generation
결과: 향상된 SQL 쿼리 생성
Running the BART model with the logits processor yields significant improvements in the quality of generated SQL queries. The model now adheres to the predefined rules, producing syntactically correct queries that can be executed without errors.
로지트 프로세서를 사용하여 BART 모델을 실행하면 생성된 SQL 쿼리의 품질이 크게 향상됩니다. 이제 모델은 사전 정의된 규칙을 준수하여 오류 없이 실행할 수 있는 구문적으로 올바른 쿼리를 생성합니다.
to_translate = 'customers emails from the us'to_translate = '고객이 당사에서 보낸 이메일'
words = to_translate.split()단어 = to_translate.split()
tokenized_text = tokenizer([words], is_split_into_words=True, return_offsets_mapping=True)tokenized_text = 토크나이저([단어], is_split_into_words=True, return_offsets_mapping=True)
logits_processor = LogitsProcessorList([SQLLogitsProcessor(tokenizer)])logits_processor = LogitsProcessorList([SQLLogitsProcessor(tokenizer)])
out = pretrained_model.generate(출력 = pretrained_model.generate(
torch.tensor(tokenized_text["input_ids"]),torch.tensor(tokenized_text["input_ids"]),
max_new_tokens=20,max_new_tokens=20,
logits_processor=logits_processor)
The Significance of Tokenization
logits_processor=logits_processor)토큰화의 중요성
Tokenization, the process of converting text into a sequence of tokens, plays a crucial role in structured generative AI. Consistent tokenization ensures that similar concepts and punctuation are represented by the same token, simplifying the model's learning process. For instance, adding spaces before words and punctuation enhances consistency and reduces the complexity of patterns that the model needs to learn.
텍스트를 일련의 토큰으로 변환하는 프로세스인 토큰화는 구조화된 생성 AI에서 중요한 역할을 합니다. 일관된 토큰화는 유사한 개념과 구두점이 동일한 토큰으로 표시되도록 보장하여 모델의 학습 프로세스를 단순화합니다. 예를 들어, 단어와 구두점 앞에 공백을 추가하면 일관성이 향상되고 모델이 학습해야 하는 패턴의 복잡성이 줄어듭니다.
Applications of Structured Generative AI
구조화된 생성 AI의 응용
The applications of structured generative AI extend far beyond SQL query generation. It empowers various tasks, including:
구조화된 생성 AI의 적용은 SQL 쿼리 생성을 훨씬 뛰어넘습니다. 다음을 포함한 다양한 작업을 지원합니다.
- JSON Data Extraction: Generating structured JSON data from natural language, enabling seamless data parsing and storage.
- Query Generation: Creating executable queries for various database systems, facilitating efficient information retrieval.
- Code Generation: Producing valid code snippets in different programming languages, accelerating software development.
Conclusion
JSON 데이터 추출: 자연어에서 구조화된 JSON 데이터를 생성하여 원활한 데이터 구문 분석 및 저장을 가능하게 합니다. 쿼리 생성: 다양한 데이터베이스 시스템에 대한 실행 가능한 쿼리를 생성하여 효율적인 정보 검색을 촉진합니다. 코드 생성: 다양한 프로그래밍 언어로 유효한 코드 조각을 생성하여 소프트웨어 개발을 가속화합니다. .결론
Structured generative AI is a groundbreaking technique that dramatically enhances the precision and applicability of generative AI models. By incorporating knowledge of the output language's structure, structured generative AI eliminates syntax errors and guarantees the executability of generated code. This breakthrough enables a wide range of applications, empowering users to extract information, generate queries, and produce code more efficiently and accurately.
구조화된 생성 AI는 생성 AI 모델의 정밀도와 적용성을 획기적으로 향상시키는 획기적인 기술입니다. 구조화된 생성 AI는 출력 언어 구조에 대한 지식을 통합함으로써 구문 오류를 제거하고 생성된 코드의 실행 가능성을 보장합니다. 이러한 혁신을 통해 광범위한 애플리케이션이 가능해지며 사용자는 정보를 추출하고, 쿼리를 생성하고, 코드를 보다 효율적이고 정확하게 생성할 수 있습니다.
부인 성명:info@kdj.com
The information provided is not trading advice. kdj.com does not assume any responsibility for any investments made based on the information provided in this article. Cryptocurrencies are highly volatile and it is highly recommended that you invest with caution after thorough research!
If you believe that the content used on this website infringes your copyright, please contact us immediately (info@kdj.com) and we will delete it promptly.
-
- 비트코인 가격이 다시 99,000달러로 상승했습니다.
- 2024-12-25 14:50:02
- 비트코인이 $99,000에 도달했습니다. 🚀 베어스가 청산되고 있습니다. 메가 알트시즌을 준비하세요