KR20250063138A - Electronic device for generating training data to be used for training large-scale language model and method for operation thereof - Google Patents
Electronic device for generating training data to be used for training large-scale language model and method for operation thereof Download PDFInfo
- Publication number
- KR20250063138A KR20250063138A KR1020240071792A KR20240071792A KR20250063138A KR 20250063138 A KR20250063138 A KR 20250063138A KR 1020240071792 A KR1020240071792 A KR 1020240071792A KR 20240071792 A KR20240071792 A KR 20240071792A KR 20250063138 A KR20250063138 A KR 20250063138A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- training data
- generating
- variable
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/387—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/909—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/14—Travel agencies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Tourism & Hospitality (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Library & Information Science (AREA)
- Evolutionary Computation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Remote Sensing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Information Transfer Between Computers (AREA)
- Machine Translation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
Abstract
다양한 실시예들에 따라서, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 전자 장치는, 디스플레이, 및 프로세서를 포함하고, 상기 프로세서는, 상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하고, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하고, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하도록 설정되고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다. 그 밖의 실시예들도 가능하다.According to various embodiments, an electronic device for generating training data to be used for training a large-scale language model includes a display, and a processor, wherein the processor is configured to generate, using an application for generating the training data, at least one of a storage node, a switch node, a branch node, and an output node, generate a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node, and generate the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message. Other embodiments are also possible.
Description
본 개시의 다양한 실시예는, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 전자 장치 및 그 동작 방법에 관한 것이다.Various embodiments of the present disclosure relate to an electronic device and a method of operating the same for generating training data to be used in training a large-scale language model.
근래, 인공지능 분야, 특히 자연어 이해 분야의 기술 발전에 따라, 전통적인 기계 중심의 명령 입출력 방식에 따른 기계 조작에서 벗어나, 사용자로 하여금, 보다 사람 친화적인 방식, 예컨대 음성 및/또는 텍스트 형태의 자연어를 매개로 한 대화 방식으로 기계를 조작하고 기계로부터 원하는 서비스를 얻을 수 있도록 하는 대규모 언어 모델(LLM, large language model)에 기반하는 대화형 AI 에이전트 시스템의 개발 및 활용이 점차 늘어나고 있다. 그에 따라, 온라인 상담 센터나 여행 서비스 제공 플랫폼 등을 비롯한 (그러나 이에 한정되지 않은 더 많은) 다양한 분야에서, 사용자는 음성 및/또는 텍스트 형태의 자연어 대화를 통해, 대화형 AI 에이전트 시스템에게 원하는 서비스를 요청하고 그로부터 원하는 결과를 얻을 수 있게 되었다.Recently, with the technological advancement in the field of artificial intelligence, especially in the field of natural language understanding, the development and utilization of conversational AI agent systems based on large language models (LLMs) that enable users to operate machines and obtain desired services from machines in a more human-friendly manner, such as through conversations using natural language in the form of voice and/or text, rather than through machine operation based on traditional machine-centered command input/output methods, are gradually increasing. Accordingly, in various fields including (but not limited to) online consultation centers and travel service provision platforms, users can now request desired services from conversational AI agent systems and obtain desired results from them through natural language conversations in the form of voice and/or text.
대규모 언어 모델의 발달은 대부분 대량의 텍스트 데이터 수집과 처리에 의존하고 있다. 이 데이터는 주로 공개적으로 접근 가능한 출처에서 수집되며, 그 내용은 소설, 뉴스 기사, 학술 논문, 웹사이트 콘텐츠 등 다양할 수 있다. 이들 데이터는 언어 모델에 입력되어, 기계가 언어의 구조와 의미를 학습하고, 이를 바탕으로 새로운 텍스트를 생성하거나 이해하는 데 사용될 수 있다.The development of large-scale language models largely relies on the collection and processing of large amounts of text data. This data is usually collected from publicly accessible sources, and the content can be diverse, such as novels, news articles, academic papers, and website content. This data can be fed into a language model, allowing the machine to learn the structure and meaning of the language, and then use this to generate or understand new text.
기존의 데이터 수집 방법은 넓은 범위의 언어 사용을 반영하지만, 특정 분야에 대한 심층적인 이해나 전문적인 지식을 요구하는 도메인에서는 한계를 드러낼 수 있다. 예를 들어, 의학, 법률, 고급 과학 기술 분야 등 특정 전문 분야에서 필요한 언어모델을 개발하기 위해서는 이 분야에 특화된 용어, 문체, 개념을 정확히 반영하는 데이터가 필요하다. 이러한 데이터는 일반적인 출처에서 쉽게 얻을 수 없으며, 이로 인해 특정 분야에 최적화된 언어모델의 개발이 어려워지는 문제점이 있다.Existing data collection methods reflect a wide range of language usage, but they can show limitations in domains that require in-depth understanding or specialized knowledge of a specific field. For example, in order to develop language models required in specific specialized fields such as medicine, law, and advanced science and technology, data that accurately reflects the terminology, style, and concepts specific to that field are required. Such data are not easily obtained from general sources, which makes it difficult to develop language models optimized for specific fields.
본 개시에 따른 전자 장치는, 확률과 상태를 기반으로 훈련 데이터를 생성하기 위한 규칙을 이용하여 대규모 언어 모델의 훈련에 적합하면서 다양한 도메인에 특화된 가상의 텍스트 데이터를 생성하고, 대규모 언어 모델을 활용하여 자동으로 훈련 데이터를 확장하는 방법을 제공할 수 있다.An electronic device according to the present disclosure can provide a method for generating virtual text data specialized for various domains while being suitable for training a large-scale language model by using rules for generating training data based on probability and state, and automatically expanding the training data by utilizing the large-scale language model.
다양한 실시예들에 따르면, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 전자 장치는, 디스플레이, 및 프로세서를 포함하고, 상기 프로세서는, 상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하고, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하고, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하도록 설정되고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다.According to various embodiments, an electronic device for generating training data to be used for training a large-scale language model includes a display, and a processor, wherein the processor is configured to generate, using an application for generating the training data, at least one of a storage node, a switch node, a branch node, and an output node, generate a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node, and generate the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
다양한 실시예들에 따르면, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 전자 장치의 동작 방법은, 상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하는 동작, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하는 동작, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하는 동작을 포함하고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다.According to various embodiments, a method of operating an electronic device for generating training data to be used for training a large-scale language model includes an operation of generating at least one node among a storage node, a switch node, a branch node, and an output node by using an application for generating the training data, an operation of generating a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node, and an operation of generating the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
다양한 실시예들에 따르면, 컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램들을 포함하는, 컴퓨터 프로그램 제품으로서, 상기 하나 이상의 프로그램들은, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하는 단계, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하는 단계, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하는 단계를 위한 명령어를 포함하고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다.According to various embodiments, a computer program product comprising one or more programs configured to be executed by one or more processors of a computer system, the one or more programs including instructions for: using an application for generating training data to be used for training a large-scale language model, generating at least one of a storage node, a switch node, a branch node, and an output node; generating a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node; and generating the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
대규모 언어 모델의 훈련을 위하여, 페어(pair)로 구성된 대량의 사용자 메시지와 대량의 에이전트 메시지가 필요한 바, 본 개시에 따르면, 사용자가 사용자 메시지나 에이전트 메시지를 직접 입력할 필요 없이, 가상의 사용자 메시지와 가상의 에이전트 메시지를 구성된 훈련 데이터를 대량으로 자동 생성함으로써, 대규모 언어 모델의 훈련 효율성을 높이는 효과를 제공할 수 있다.In order to train a large-scale language model, a large number of user messages and a large number of agent messages configured in pairs are required. According to the present disclosure, by automatically generating a large amount of training data configured with virtual user messages and virtual agent messages without requiring the user to directly input user messages or agent messages, the training efficiency of a large-scale language model can be improved.
도 1은 본 개시의 다양한 실시예에 따른 사용자 장치 및 서버의 블록도를 도시한다.
도 2는 다양한 실시예들에 따른, 전자 장치가 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 동작을 설명하기 위한 흐름도이다.
도 3은 다양한 실시예들에 따른, 훈련 데이터의 생성에 사용되는 노드의 종류별 GUI를 나타내는 도면이다.
도 4는 다양한 실시예들에 따른, 노드 플로우를 GUI 형태로 구현한 노드 플로우 오브젝트를 나타내는 도면이다.
도 5는 다양한 실시예들에 따른, 훈련 데이터 세트를 나타내는 도면이다.
도 6a는 다양한 실시예들에 따른, 번역용 LLM의 훈련 데이터를 생성하기 위한 노드 플로우 오브젝트를 나타내는 도면이다.
도 6b는 다양한 실시예들에 따른, 도 6a의 노드 플로우 오브젝트에 의하여 생성된 번역용 LLM의 훈련 데이터 엔트리의 예시를 나타내는 도면이다.
도 7a는 다양한 실시예들에 따른, 요약용 LLM의 훈련 데이터를 생성하기 위한 노드 플로우 오브젝트를 나타내는 도면이다.
도 7b는 다양한 실시예들에 따른, 도 7a의 노드 플로우 오브젝트에 의하여 생성된 요약용 LLM의 훈련 데이터 엔트리의 예시를 나타내는 도면이다.FIG. 1 illustrates a block diagram of a user device and a server according to various embodiments of the present disclosure.
FIG. 2 is a flowchart illustrating operations of an electronic device to generate training data to be used for training a large-scale language model according to various embodiments.
FIG. 3 is a diagram showing a GUI for each type of node used to generate training data according to various embodiments.
FIG. 4 is a diagram showing a node flow object that implements node flow in GUI form according to various embodiments.
FIG. 5 is a diagram illustrating a training data set according to various embodiments.
FIG. 6a is a diagram illustrating a node flow object for generating training data for an LLM for translation according to various embodiments.
FIG. 6b is a diagram illustrating an example of a training data entry of a translation LLM generated by the node flow object of FIG. 6a according to various embodiments.
FIG. 7a is a diagram illustrating a node flow object for generating training data of a summary LLM according to various embodiments.
FIG. 7b is a diagram illustrating an example of a training data entry of a summary LLM generated by the node flow object of FIG. 7a according to various embodiments.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. It should be understood that the embodiments and the terms used herein are not intended to limit the technology described in this document to a specific embodiment, but rather to include various modifications, equivalents, and/or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar components. The singular expression may include plural expressions unless the context clearly indicates otherwise. In this document, expressions such as "A or B" or "at least one of A and/or B" may include all possible combinations of the items listed together. Expressions such as "first," "second," "first," or "second," may modify the corresponding components, regardless of order or importance, and are only used to distinguish one component from another, but do not limit the corresponding components. When it is said that a certain (e.g., a first) component is "(functionally or communicatively) connected" or "connected" to another (e.g., a second) component, said certain component may be directly connected to said other component, or may be connected through another component (e.g., a third component).
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다. In this document, "configured to" can be used interchangeably with, for example, "suitable for," "capable of," "modified to," "made to," "capable of," or "designed to," either hardware-wise or software-wise. In some contexts, the phrase "a device configured to" can mean that the device is "capable of" doing something together with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" can mean a dedicated processor (e.g., an embedded processor) for performing the operations, or a general-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버 중 적어도 하나를 포함할 수 있다. An electronic device according to various embodiments of the present document may include, for example, at least one of a smartphone, a tablet PC, a desktop PC, a laptop PC, a netbook computer, a workstation, and a server.
도 1을 참조하여, 다양한 실시예에서의, 사용자 장치(100) 및 서버(101)가 기재된다. 사용자 장치(100)는 통신 모듈(110), 프로세서(120), 메모리(130), 및 디스플레이(140)를 포함할 수 있다. 어떤 실시예에서는, 사용자 장치(100)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. Referring to FIG. 1, a user device (100) and a server (101) in various embodiments are described. The user device (100) may include a communication module (110), a processor (120), a memory (130), and a display (140). In some embodiments, the user device (100) may omit at least one of the components or additionally include other components.
통신 모듈(110)은, 예를 들면, 사용자 장치(100)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(101)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 모듈(110)은 무선 통신 또는 유선 통신을 통해서 네트워크(180)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(101))와 통신할 수 있다.The communication module (110) can establish communication between, for example, the user device (100) and an external device (e.g., the first external electronic device (102), the second external electronic device (104), or the server (101)). For example, the communication module (110) can be connected to a network (180) via wireless communication or wired communication to communicate with the external device (e.g., the second external electronic device (104) or the server (101)).
무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(180)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.The wireless communication may include, for example, cellular communication using at least one of LTE, LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications). According to one embodiment, the wireless communication may include, for example, at least one of WiFi (wireless fidelity), Bluetooth, Bluetooth low energy (BLE), Zigbee, near field communication (NFC), Magnetic Secure Transmission, radio frequency (RF), or body area network (BAN). According to one embodiment, the wireless communication may include GNSS. The GNSS may be, for example, GPS (Global Positioning System), Glonass (Global Navigation Satellite System), Beidou Navigation Satellite System (hereinafter "Beidou"), or Galileo, the European global satellite-based navigation system. Hereinafter, in this document, "GPS" may be used interchangeably with "GNSS". The wired communication may include at least one of, for example, a universal serial bus (USB), a high definition multimedia interface (HDMI), a recommended standard232 (RS-232), a power line communication, or a plain old telephone service (POTS). The network (180) may include at least one of a telecommunications network, for example, a computer network (e.g., a LAN or WAN), the Internet, or a telephone network.
프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 사용자 장치(100)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. The processor (120) may include one or more of a central processing unit, an application processor, or a communication processor (CP). The processor (120) may, for example, perform operations or data processing related to control and/or communication of at least one other component of the user device (100).
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 사용자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. The memory (130) may include volatile and/or nonvolatile memory. The memory (130) may store, for example, commands or data related to at least one other component of the user device (100).
디스플레이(140)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(140)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. The display (140) may include, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a micro electro mechanical systems (MEMS) display, or an electronic paper display. The display (140) may, for example, display various contents (e.g., text, images, videos, icons, and/or symbols) to a user. The display (160) may include a touch screen and may receive touch, gesture, proximity, or hovering inputs, for example, using an electronic pen or a part of the user's body.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 사용자 장치(100)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 사용자 장치(100)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(101)에서 실행될 수 있다. 한 실시예에 따르면, 사용자 장치(100)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 사용자 장치(100)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(101))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(101))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 사용자 장치(100)로 전달할 수 있다. 사용자 장치(100)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.Each of the first and second external electronic devices (102, 104) may be the same or a different type of device as the user device (100). According to various embodiments, all or part of the operations executed in the user device (100) may be executed in another one or more electronic devices (e.g., the electronic devices (102, 104) or the server (101). According to one embodiment, when the user device (100) is to perform a certain function or service automatically or upon request, the user device (100) may request at least some functions related thereto from another device (e.g., the electronic device (102, 104) or the server (101)) instead of executing the function or service by itself or in addition. The other electronic device (e.g., the electronic device (102, 104) or the server (101)) may execute the requested function or additional function and transmit the result to the user device (100). The user device (100) may process the received result as is or additionally to provide the requested function or service. For this purpose, for example, cloud computing, distributed computing, or client-server computing technology may be used.
서버(101)는 통신 모듈(111), 프로세서(121), 및 메모리(131)를 포함할 수 있다. 어떤 실시예에서는, 서버(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 통신 모듈(111), 프로세서(121), 및 메모리(131)는 각각 사용자 장치(100) 내의 통신 모듈(110), 프로세서(120), 및 메모리(130)와 동일한 기능들을 수행할 수 있다.The server (101) may include a communication module (111), a processor (121), and a memory (131). In some embodiments, the server (101) may omit at least one of the components or additionally include other components. The communication module (111), the processor (121), and the memory (131) may perform the same functions as the communication module (110), the processor (120), and the memory (130) in the user device (100), respectively.
도 2는 다양한 실시예들에 따른, 전자 장치(예: 도 1의 사용자 장치(100))가 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 동작을 설명하기 위한 흐름도이다.FIG. 2 is a flowchart illustrating an operation of an electronic device (e.g., a user device (100) of FIG. 1) generating training data to be used for training a large-scale language model according to various embodiments.
도 3은 다양한 실시예들에 따른, 훈련 데이터의 생성에 사용되는 노드의 종류별 GUI를 나타내는 도면이다.FIG. 3 is a diagram showing a GUI for each type of node used to generate training data according to various embodiments.
도 4는 다양한 실시예들에 따른, 노드 플로우를 GUI 형태로 구현한 노드 플로우 오브젝트를 나타내는 도면이다.FIG. 4 is a diagram showing a node flow object that implements node flow in GUI form according to various embodiments.
도 5는 다양한 실시예들에 따른, 훈련 데이터 세트를 나타내는 도면이다.FIG. 5 is a diagram illustrating a training data set according to various embodiments.
다양한 실시예들에 따르면, 서버(101)는 복수의 실행 화면들로 구성된 어플리케이션 또는 복수의 웹 페이지(web page)들로 구성된 웹 사이트(web site)를 운영할 수 있고, 전자 장치(예: 도 1의 전자 장치(100, 102, 104))(예: PC, 노트북, 스마트폰 등)와 네트워크(162, 164)를 통해 통신하며, 사용자 장치(100)로부터 어플리케이션 또는 웹 페이지에 관하여 수신된 요청을 처리하고 사용자 장치(100)로 요청된 정보를 송신할 수 있다. 서버(101)는 대규모 언어 모델을 저장/관리하고, 대규모 언어 모델에 기반한 지능형 에이전트를 통하여 사용자 장치(100)와 메시지를 송수신하기 위한 전용 어플리케이션 또는 웹 사이트의 각 실행 화면을 사용자 장치(100)에서 표시할 수 있도록 하는 소스 코드를 사용자 장치(100)로 송신할 수 있고, 사용자 장치(100)는 상기 소스 코드를 수신하여, 상기 전용 어플리케이션 또는 웹 브라우저를 통하여 사용자 장치(100)의 사용자에 의하여 요청된 실행 화면을 표시할 수 있다. 일 실시예에 따르면, 서버(101)는 도 1의 전자 장치(100)의 구성요소들과 동일한 종류의 구성요소들을 포함할 수 있다. 일 실시예에 따르면, 본 개시에서 사용자 장치(100)로 지칭된 구성들은, 해당 사용자 장치를 통하여 서버(101)가 제공하는 플랫폼에 접속한 사용자 계정을 의미할 수 있다.According to various embodiments, the server (101) may operate an application composed of a plurality of execution screens or a website composed of a plurality of web pages, communicate with an electronic device (e.g., an electronic device (100, 102, 104) of FIG. 1) (e.g., a PC, a laptop, a smartphone, etc.) through a network (162, 164), process a request received from a user device (100) regarding an application or a web page, and transmit requested information to the user device (100). The server (101) may store/manage a large-scale language model, and transmit source code for enabling each execution screen of a dedicated application or website for transmitting and receiving messages with the user device (100) through an intelligent agent based on the large-scale language model to the user device (100), and the user device (100) may receive the source code and display an execution screen requested by a user of the user device (100) through the dedicated application or a web browser. According to one embodiment, the server (101) may include the same types of components as the components of the electronic device (100) of FIG. 1. According to one embodiment, the components referred to as user devices (100) in the present disclosure may mean a user account that accesses a platform provided by the server (101) through the user device.
201 동작에서, 다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 대규모 언어 모델(LLM, large language model)의 훈련에 사용될 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 및 출력 노드 중 적어도 하나의 노드를 생성할 수 있다. In operation 201, according to various embodiments, an electronic device (100) (e.g., a processor (120) of FIG. 1) may generate at least one of a storage node, a switch node, and an output node using an application for generating training data to be used for training a large language model (LLM).
일 실시예에 따르면, 대규모 언어 모델은, 생성형 AI의 한 종류로서, 예를 들어, 트랜스포머(transformer) 기반의 신경망 모델을 포함할 수 있고, (1)문장의 의미를 이해하고, 키워드 추출, 감성 분석, 정보 검색 등과 같은 자연어 이해 작업을 수행하는 자연어 이해 분야(NLU, natural language understanding), (2)문장, 문단, 요약문, 번역 등 다양한 형태로 자연스러운 언어를 생성하는 자연어 생성 분야(NLG, natural language generation), (3)주어진 질문에 대해 답변을 생성하는 질의 응답 분야, (4)다국어 간의 번역 작업을 수행하는 기계 번역 분야, 및 (5)장문의 텍스트를 간결하게 요약하여 정보의 가치를 높이는 텍스트 요약 분야 등에 사용될 수 있다. 대규모 언어 모델은, 전술한 예시 이외에도 이 기술 분야의 당업자들에 의하여 용이하게 실현 가능한 다양한 언어 모델들을 포함할 수 있다.According to one embodiment, the large-scale language model is a type of generative AI, and may include, for example, a transformer-based neural network model, and may be used in (1) natural language understanding (NLU) fields that understand the meaning of sentences and perform natural language understanding tasks such as keyword extraction, sentiment analysis, and information retrieval, (2) natural language generation (NLG) fields that generate natural language in various forms such as sentences, paragraphs, summaries, and translations, (3) question answering fields that generate answers to given questions, (4) machine translation fields that perform translation tasks between multiple languages, and (5) text summarization fields that concisely summarize long texts to increase the value of information. In addition to the examples described above, the large-scale language model may include various language models that can be easily realized by those skilled in the art.
일 실시예에 따르면, 상기 적어도 하나의 노드는 상기 어플리케이션을 통하여 프로그램 코드 형태로 생성되거나 그래픽 유저 인터페이스(graphic user interface)의 형태로 생성될 수 있다. 일 실시예에 따르면, 상기 어플리케이션은 다양한 언어로 프로그래밍할 수 있는 통합 개발 환경을 제공하는 어플리케이션(예: Visual Studio)일 수 있다.In one embodiment, the at least one node may be generated in the form of program code or in the form of a graphical user interface through the application. In one embodiment, the application may be an application that provides an integrated development environment capable of programming in various languages (e.g., Visual Studio).
일 실시예에 따르면, 전자 장치(100)는 디스플레이(예: 도 1의 디스플레이(140))를 통하여 어플리케이션 상에서 훈련 데이터의 생성에 사용되는 노드에 대응하는 오브젝트를 GUI 형태로 구현하여 표시할 수 있다.According to one embodiment, the electronic device (100) may display an object corresponding to a node used for generating training data on an application in the form of a GUI through a display (e.g., display (140) of FIG. 1).
일 실시예에 따르면, 훈련 데이터의 생성에 사용되는 저장 노드는, 저장 변수에 대하여 적어도 하나의 후보 저장 변수 값을 저장하기 위한 구성요소일 수 있다. 각각의 적어도 하나의 후보 저장 변수 값은 미리 설정된 확률 값에 따라 선택될 수 있고, 각 확률 값은 사용자에 의하여 서로 동일하거나 상이하게 설정될 수 있다.According to one embodiment, a storage node used for generating training data may be a component for storing at least one candidate storage variable value for a storage variable. Each of the at least one candidate storage variable value may be selected according to a preset probability value, and each probability value may be set by a user to be the same or different from each other.
일 실시예에 따르면, 훈련 데이터의 생성에 사용되는 스위치 노드는, 분기 가능한 조건을 나타내는 조건 변수를 설정하기 위한 구성요소일 수 있다. 일 실시예에 따라, 도 3을 참조하면, 스위치 노드를 GUI 형태로 구현한 스위치 노드 오브젝트(311)는 (i)노드의 종류(예: Switch)를 선택할 수 있는 노드 선택 오브젝트, (ii)조건 변수(예: has_greeted)를 나타내는 조건 변수 값 필드, 및 (iii)분기 노드의 후보 상태 값을 추가하기 위한 버튼(예: add case)을 포함할 수 있다.According to one embodiment, a switch node used for generating training data may be a component for setting a condition variable representing a branchable condition. According to one embodiment, referring to FIG. 3, a switch node object (311) that implements a switch node in a GUI form may include (i) a node selection object for selecting a type of node (e.g., Switch), (ii) a condition variable value field representing a condition variable (e.g., has_greeted), and (iii) a button for adding a candidate state value of a branch node (e.g., add case).
일 실시예에 따르면, 훈련 데이터의 생성에 사용되는 분기 노드는, 스위치 노드의 조건 변수의 현재 상태에 따라 분기 가능한 후보 상태 값을 설정하기 위한 구성요소일 수 있다. 일 실시예에 따라, 도 3을 참조하면, 분기 노드를 GUI 형태로 구현한 분기 노드 오브젝트(312)는 (i)후보 상태 값(예: true), (ii)상기 후보 상태 값을 수정/제거하기 위한 오브젝트, 및 (iii)다른 후보 상태 값을 추가하기 위한 필드를 포함할 수 있고, 분기 노드 오브젝트(312)는 스위치 노드 오브젝트(311)와 하나의 세트(310)로 구현될 수 있다. 전자 장치(100)는 스위치 노드의 현재 조건 변수에 일치하는 값을 가진 분기 노드로 전이할 수 있다. 예를 들어, 스위치 노드가 조건 변수(예: apple_count)로 설정되고 스위치 노드에 연결된 제1 분기 노드가 제1 후보 상태 값(예: 0, 1, 2)으로 설정되며 스위치 노드에 연결된 제2 분기 노드가 제2 후보 상태 값(예: 3)으로 설정된 경우, 전자 장치(100)는 apple_count의 값이 제1 후보 상태 값일 때는 제1 분기 노드로 전이하고, 제2 후보 상태 값일 때는 제2 분기 노드로 전이하며, 그 이외의 값일 때는 실행을 중단하고 에러를 발생시킬 수 있다.According to one embodiment, a branch node used for generating training data may be a component for setting a candidate state value that can be branched according to a current state of a condition variable of a switch node. According to one embodiment, referring to FIG. 3, a branch node object (312) that implements a branch node in the form of a GUI may include (i) a candidate state value (e.g., true), (ii) an object for modifying/removing the candidate state value, and (iii) a field for adding another candidate state value, and the branch node object (312) may be implemented as a set (310) with a switch node object (311). The electronic device (100) may transition to a branch node having a value that matches the current condition variable of the switch node. For example, if a switch node is set to a condition variable (e.g., apple_count), a first branch node connected to the switch node is set to a first candidate state value (e.g., 0, 1, 2), and a second branch node connected to the switch node is set to a second candidate state value (e.g., 3), the electronic device (100) can transition to the first branch node when the value of apple_count is the first candidate state value, transition to the second branch node when it is the second candidate state value, and stop execution and generate an error when it is any other value.
일 실시예에 따르면, 훈련 데이터의 생성에 사용되는 출력 노드는, 출력 변수에 대하여 적어도 하나의 후보 출력 변수 값을 출력하기 위한 구성요소일 수 있다. 각각의 적어도 하나의 후보 출력 변수 값은 미리 설정된 확률 값에 따라 선택될 수 있고, 각 확률 값은 사용자에 의하여 서로 동일하거나 상이하게 설정될 수 있다. 일 실시예에 따르면, 출력 노드는 출력 노드의 타입(type), 출력 변수(name), 및 컨텐트(content)(즉, 후보 출력 변수 값 중에서 선택된 값)를 출력하도록 설정될 수 있다. 일 실시예에 따라, 도 3을 참조하면, 출력 노드를 GUI 형태로 구현한 출력 노드 오브젝트(320, 330)는 (i)출력 노드의 타입(예: assistant)을 선택할 수 있는 오브젝트, (ii)출력 변수(예: GreetingAgain, Greeting)를 나타내는 출력 변수 값 필드, (iii)후보 출력 변수 값(예: "Hi again! I'm {name}."/"Hello again, this is {name}!", "Hi!"/"Hello!"), (iv)상기 후보 출력 변수 값을 수정/제거하기 위한 오브젝트, 및 (v)다른 후보 출력 변수 값을 추가하기 위한 필드를 포함할 수 있다. 일 실시예에 따르면, 출력 노드의 타입은 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data)(예: user) 또는 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)(예: assistant) 중 하나일 수 있다. 일 실시예에 따르면, 출력 노드의 타입은 프롬프트 데이터 또는 컴플리션 데이터 이외에 전자 장치(100)의 사용자에 의하여 다양한 타입으로 설정될 수 있다.According to one embodiment, the output node used for generating training data may be a component for outputting at least one candidate output variable value for an output variable. Each of the at least one candidate output variable value may be selected according to a preset probability value, and each probability value may be set to be the same or different from each other by a user. According to one embodiment, the output node may be set to output a type of the output node, an output variable (name), and content (i.e., a value selected from among the candidate output variable values). According to one embodiment, with reference to FIG. 3, an output node object (320, 330) that implements an output node in a GUI form may include (i) an object that can select a type of the output node (e.g., assistant), (ii) an output variable value field representing an output variable (e.g., GreetingAgain, Greeting), (iii) a candidate output variable value (e.g., "Hi again! I'm {name}."/"Hello again, this is {name}!", "Hi!"/"Hello!"), (iv) an object for modifying/removing the candidate output variable value, and (v) a field for adding another candidate output variable value. According to one embodiment, the type of the output node may be one of prompt data corresponding to a virtual user message (e.g., user) or completion data corresponding to a virtual agent message (e.g., assistant). According to one embodiment, the type of the output node may be set to various types by the user of the electronic device (100) in addition to the prompt data or the completion data.
다양한 실시예들에 따르면, 본 개시에 따라 생성되는 훈련 데이터는 대화용 LLM의 훈련에 사용될 데이터, 번역용 LLM의 훈련에 사용될 데이터, 및 요약용 LLM의 훈련에 사용될 데이터를 포함할 수 있고, 전술한 예에 한정되지 않고 다양한 용도의 LLM의 훈련에 사용될 데이터를 포함할 수 있다. 일 실시예에 따르면, 훈련 데이터는 각 데이터 엔트리(data entry)마다 프롬프트 데이터 및 컴플리션 데이터와 같이 한 쌍(pair)의 속성(property)을 가질 수 있고, 또는 단일 속성(예: text)이나 3개 이상의 속성(예: question/correct answer/wrong answer 등)을 가질 수 있다. According to various embodiments, the training data generated according to the present disclosure may include data to be used for training a conversational LLM, data to be used for training a translation LLM, and data to be used for training a summarizing LLM, and may include data to be used for training LLMs for various purposes without being limited to the examples described above. According to one embodiment, the training data may have a pair of properties, such as prompt data and completion data, for each data entry, or may have a single property (e.g., text) or three or more properties (e.g., question/correct answer/wrong answer, etc.).
훈련 데이터를 생성하기 위한 각 노드 및 이를 포함하는 노드 플로우를 GUI 형태로 구현하게 될 경우, 노드의 전이 관계, 전이 확률, 각 설정 값을 직관적으로 인식함으로써, 용이하게 훈련 데이터를 생성할 수 있는 편의성을 제공할 수 있다.If each node for generating training data and the node flow including it are implemented in GUI form, it is possible to provide convenience for easily generating training data by intuitively recognizing the node's transition relationship, transition probability, and each setting value.
일 실시예에 따르면, 훈련 데이터의 생성에 사용되는 적어도 하나의 노드는, 아무런 동작을 하지 않는 보이드(void) 노드, 시작 노드, 및 종료 노드를 더 포함할 수 있고, 시작 노드와 종료 노드는 보이드 노드로 표현되거나 또는 보이드 노드와 독립적인 노드로 표현될 수 있고, 이는 사용자의 설정에 의하여 다양하게 변경될 수 있다. 일 실시예에 따르면, 종료 노드는 시작 노드로부터 종료 노드까지의 노드 플로우에 따른 훈련 데이터의 생성 결과를 표시할 수 있도록 하는 오브젝트(미리보기 기능)를 포함할 수 있다. 일 실시예에 따르면, 전술한 적어도 하나의 노드의 종류는 하나의 예시일 뿐, 전자 장치(100)의 사용자 또는 서버(101)의 관리자의 설정에 의하여 저장 노드, 스위치 노드, 출력 노드, 보이드 노드 이외에도 훈련 데이터의 생성을 위한 다양한 종류의 노드를 포함할 수 있다.According to one embodiment, at least one node used for generating training data may further include a void node that does not perform any operation, a start node, and an end node, and the start node and the end node may be expressed as a void node or as a node independent of the void node, and this may be variously changed according to a user's setting. According to one embodiment, the end node may include an object (preview function) that enables displaying a result of generating training data according to a node flow from the start node to the end node. According to one embodiment, the type of at least one node described above is only one example, and various types of nodes for generating training data may be included in addition to a storage node, a switch node, an output node, and a void node according to a setting of a user of the electronic device (100) or an administrator of the server (101).
일 실시예에 따르면, 전자 장치(100)는 사용자 입력에 따라 적어도 하나의 노드를 생성할 수 있다. 예를 들어, 전자 장치(100)는 특정 노드(예: 출력 노드)를 생성하기 위한 사용자 입력을 수신할 수 있고, 사용자 입력에 따른 특정 노드를 생성할 수 있다.According to one embodiment, the electronic device (100) can generate at least one node based on a user input. For example, the electronic device (100) can receive a user input to generate a specific node (e.g., an output node) and generate the specific node based on the user input.
203 동작에서, 다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 적어도 하나의 노드 사이의 전이 관계 및 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성할 수 있다. 일 실시예에 따르면, 노드 플로우는 훈련 데이터를 생성하기 위한 일련의 노드들의 실행 순서를 정의할 수 있고, 구체적으로, 시작 노드(예: 최초 노드)로부터 종료 노드(예: 최후 노드)까지의 각 노드들 사이의 전이 관계 및 전이 확률과 각 노드들 내의 변수 관련 값을 나타낼 수 있다. 일 실시예에 따르면, 전자 장치(100)는 디스플레이(140)를 통하여 어플리케이션 상에서 노드 플로우에 대응하는 오브젝트를 GUI 형태로 구현하여 표시할 수 있다. 예를 들어, 도 4는 대화용 LLM의 훈련 데이터를 생성하기 위한 노드 플로우의 일부로서, 노드 플로우를 GUI 형태로 구현하기 위한 초안을 나타낸다.In operation 203, according to various embodiments, the electronic device (100) (e.g., the processor (120) of FIG. 1) may generate a node flow that sets a transition relationship between at least one node and a variable-related value for each of at least one node. According to one embodiment, the node flow may define an execution order of a series of nodes for generating training data, and specifically, may represent a transition relationship and a transition probability between each node from a start node (e.g., a first node) to an end node (e.g., a last node) and a variable-related value within each node. According to one embodiment, the electronic device (100) may implement and display an object corresponding to the node flow in a GUI form on an application through the display (140). For example, FIG. 4 shows a draft for implementing a node flow in a GUI form as a part of a node flow for generating training data of a conversational LLM.
다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 적어도 하나의 노드 사이의 전이 관계를 설정할 수 있다.According to various embodiments, an electronic device (100) (e.g., processor (120) of FIG. 1) may establish a transition relationship between at least one node.
일 실시예에 따르면, 전자 장치(100)는 하나의 노드(예: 출발 노드)로부터 다른 노드(예: 도착 노드)를 가리키는 전이 관계 및 전이 관계에 대한 확률 값을 설정함으로써, 훈련 데이터를 생성할 수 있는 노드 플로우를 생성할 수 있다. 출발 노드와 도착 노드는 두 노드 사이의 상대적인 개념을 의미할 뿐, 고정적인 개념을 의미하지 않고, 시작 노드와 종료 노드를 제외한 각각의 노드는 도착 노드임과 동시에 하나의 새로운 출발 노드가 될 수 있다. 일 실시예에 따르면, 출발 노드의 종류와 도착 노드의 종류는 동일하거나 상이할 수 있다. According to one embodiment, the electronic device (100) can generate a node flow capable of generating training data by setting a transition relationship and a probability value for the transition relationship that point from one node (e.g., a starting node) to another node (e.g., an arrival node). The starting node and the arrival node merely mean relative concepts between two nodes and do not mean fixed concepts, and each node except for the starting node and the ending node can be an arrival node and also a new starting node. According to one embodiment, the types of the starting node and the arrival node can be the same or different.
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 저장 노드(예: Set: name)로부터 저장 노드(예: Set: has_greeted)로의 전이 관계(401) 및 상기 전이 관계(401)에 대한 확률 값(예: 1)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (401) from a storage node (e.g., Set: name) to a storage node (e.g., Set: has_greeted) and a probability value (e.g., 1) for the transition relationship (401).
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 저장 노드(예: Set: has_greeted)로부터 스위치 노드(예: Switch: has_greeted)로의 전이 관계(402) 및 상기 전이 관계(402)에 대한 확률 값(예: 1)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (402) from a storage node (e.g., Set: has_greeted) to a switch node (e.g., Switch: has_greeted) and a probability value (e.g., 1) for the transition relationship (402).
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 분기 노드(예: True)로부터 저장 노드(예: Set: has_greeted)로의 전이 관계(403) 및 상기 전이 관계(403)에 대한 확률 값(예: 0.05)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (403) from a branch node (e.g., True) to a storage node (e.g., Set: has_greeted) and a probability value (e.g., 0.05) for the transition relationship (403).
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 저장 노드(예: Set: has_greeted)로부터 출력 노드(예: User: Greeting)로의 전이 관계(404) 및 상기 전이 관계(404)에 대한 확률 값(예: 1)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (404) from a storage node (e.g., Set: has_greeted) to an output node (e.g., User: Greeting) and a probability value (e.g., 1) for the transition relationship (404).
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 출력 노드(예: User: Greeting)로부터 스위치 노드(예: Switch: has_greeted)로의 전이 관계(405) 및 상기 전이 관계(405)에 대한 확률 값(예: 0.5)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (405) from an output node (e.g., User: Greeting) to a switch node (e.g., Switch: has_greeted) and a probability value (e.g., 0.5) for the transition relationship (405).
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 분기 노드(예: True)로부터 출력 노드(예: Assistant: GreetingAgain)로의 전이 관계(406) 및 상기 전이 관계(406)에 대한 확률 값(예: 0.00001)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (406) from a branch node (e.g., True) to an output node (e.g., Assistant: GreetingAgain) and a probability value (e.g., 0.00001) for the transition relationship (406).
일 실시예에 따라, 도 4를 참조하면, 전자 장치(100)는 분기 노드(예: False)로부터 보이드 노드(예: Void: Final)로의 전이 관계(406) 및 상기 전이 관계(406)에 대한 확률 값(예: 0.00001)을 설정할 수 있다.According to one embodiment, referring to FIG. 4, the electronic device (100) may set a transition relationship (406) from a branch node (e.g., False) to a void node (e.g., Void: Final) and a probability value (e.g., 0.00001) for the transition relationship (406).
일 실시예에 따르면, 스위치 노드로부터 분기 노드로의 전이 관계는 확률 값을 가지지 않을 수 있다.In one embodiment, a transition relationship from a switch node to a branch node may not have a probability value.
일 실시예에 따르면, 노드 플로우는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data)를 생성하기 위한 적어도 하나의 출력 노드 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 생성하기 위한 적어도 하나의 출력 노드를 포함할 수 있다. 예를 들어, 도 4를 참조하면, 노드 플로우는 가상의 사용자 메시지에 대응하는 프롬프트 데이터를 생성하기 위한 제1 출력 노드(430), 가상의 제1 에이전트 메시지에 대응하는 컴플리션 데이터를 생성하기 위한 제2 출력 노드(440), 및 가상의 제2 에이전트 메시지에 대응하는 컴플리션 데이터를 생성하기 위한 제3 출력 노드(450)를 포함할 수 있다. 한편, 사용자 메시지는 사용자로부터 획득한 메시지를 의미하고, 에이전트 메시지는 사용자 메시지를 대규모 언어 모델에 입력하여, 사용자 메시지에 대한 답변 형태로 처리한 메시지로서 대규모 언어 모델과 연동된 지능형 에이전트(또는, 지능형 어시스턴트)에 의하여 출력되는 메시지를 의미할 수 있다. 본 개시에 따른 전자 장치(100)는, 훈련용 사용자 메시지 및 훈련용 에이전트 메시지를 사용자로부터 직접 입력 받지 않고, 노드 플로우를 이용하여 가상의 사용자 메시지 및 가상의 에이전트 메시지를 대량으로 자동 생성할 수 있다.According to one embodiment, the node flow may include at least one output node for generating prompt data corresponding to a virtual user message and at least one output node for generating completion data corresponding to a virtual agent message. For example, referring to FIG. 4, the node flow may include a first output node (430) for generating prompt data corresponding to the virtual user message, a second output node (440) for generating completion data corresponding to the virtual first agent message, and a third output node (450) for generating completion data corresponding to the virtual second agent message. Meanwhile, the user message may mean a message obtained from a user, and the agent message may mean a message that is input into a large-scale language model and processed in the form of a response to the user message, and may mean a message output by an intelligent agent (or, intelligent assistant) linked with the large-scale language model. An electronic device (100) according to the present disclosure can automatically generate a large number of virtual user messages and virtual agent messages using node flow without directly receiving training user messages and training agent messages from a user.
다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정할 수 있다.According to various embodiments, the electronic device (100) (e.g., the processor (120) of FIG. 1) may set variable-related values for at least one node each.
일 실시예에 따르면, 전자 장치(100)는 사용자로부터 저장 노드에 대한 변수 관련 값으로서, 저장 변수 및 후보 저장 변수 값을 획득할 수 있다. 예를 들어, 도 4를 참조하면, 전자 장치(100)는 사용자로부터 저장 노드(410)에 대한 저장 변수(예: name) 및 후보 저장 변수 값(예: John, Karl, Alice, Alex)를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 사용자 입력에 따라 후보 저장 변수 값 별로 후보 저장 변수 값이 선택될 확률 값을 설정할 수 있다.According to one embodiment, the electronic device (100) may obtain, from a user, variable-related values for a storage node, including storage variables and candidate storage variable values. For example, referring to FIG. 4, the electronic device (100) may obtain, from a user, storage variables (e.g., name) and candidate storage variable values (e.g., John, Karl, Alice, Alex) for a storage node (410). According to one embodiment, the electronic device (100) may set a probability value for selection of the candidate storage variable value for each candidate storage variable value according to a user input.
일 실시예에 따르면, 전자 장치(100)는 사용자로부터 스위치 노드에 대한 변수 관련 값으로서, 조건 변수를 획득할 수 있다. 예를 들어, 도 4를 참조하면, 전자 장치(100)는 사용자로부터 스위치 노드(420)에 대한 조건 변수(예: has_greeted)를 획득할 수 있다. According to one embodiment, the electronic device (100) may obtain a condition variable as a variable-related value for a switch node from a user. For example, referring to FIG. 4, the electronic device (100) may obtain a condition variable (e.g., has_greeted) for a switch node (420) from a user.
일 실시예에 따르면, 전자 장치(100)는 사용자로부터 분기 노드에 대한 변수 관련 값으로서, 스위치 노드(420)에 대한 조건 변수의 후보 상태 값을 획득할 수 있다. 예를 들어, 도 4를 참조하면, 전자 장치(100)는 분기 노드(421)에 대하여 사용자로부터 조건 변수(예: has_greeted)의 후보 상태 값(예: True)을 획득할 수 있다.According to one embodiment, the electronic device (100) may obtain a candidate state value of a condition variable for a switch node (420) as a variable-related value for a branch node from a user. For example, referring to FIG. 4, the electronic device (100) may obtain a candidate state value (e.g., True) of a condition variable (e.g., has_greeted) for a branch node (421) from a user.
일 실시예에 따르면, 전자 장치(100)는 사용자로부터 출력 노드에 대한 변수 관련 값으로서, 출력 변수 및 후보 출력 변수 값을 획득할 수 있다. 예를 들어, 도 4를 참조하면, 전자 장치(100)는 사용자로부터 출력 노드(430)에 대한 출력 변수(예: User: Greeting) 및 후보 출력 변수 값(예: Hi, hi, Hello, hello)를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 사용자 입력에 따라 후보 출력 변수 값 별로 후보 출력 변수 값이 선택될 확률 값을 설정할 수 있다.According to one embodiment, the electronic device (100) may obtain, from the user, variable-related values for an output node, such as an output variable and a candidate output variable value. For example, referring to FIG. 4, the electronic device (100) may obtain, from the user, an output variable (e.g., User: Greeting) and a candidate output variable value (e.g., Hi, hi, Hello, hello) for an output node (430). According to one embodiment, the electronic device (100) may set a probability value for selecting a candidate output variable value for each candidate output variable value according to a user input.
일 실시예에 따르면, 전자 장치(100)는 전이 관계 및 변수 관련 값의 설정에 있어서, 동작의 순서에 상관없이 자유롭게 수행할 수 있다. 예를 들어, 전자 장치(100)는 노드 사이의 전이 관계를 설정한 후에 노드 각각에 관한 변수 관련 값을 설정하거나 또는 노드 각각에 관한 변수 관련 값을 설정한 후에 노드 사이의 전이 관계를 설정할 수 있다.According to one embodiment, the electronic device (100) can freely perform, regardless of the order of the operations, the setting of transition relationships and variable-related values. For example, the electronic device (100) can set variable-related values for each node after setting transition relationships between nodes, or can set variable-related values for each node after setting transition relationships between nodes.
205 동작에서, 다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 훈련 데이터의 생성 요청에 응답하여, 노드 플로우를 실행한 결과에 따른 훈련 데이터를 생성할 수 있다. In operation 205, according to various embodiments, the electronic device (100) (e.g., the processor (120) of FIG. 1) may generate training data according to a result of executing the node flow in response to a request for generation of training data.
일 실시예에 따르면, 전자 장치(100)는 노드 플로우 내의 각 노드 사이의 전이 관계의 설정과 각 노드에 대한 변수 관련 값의 설정이 완료된 후에, 사용자로부터 훈련 데이터의 생성 요청(즉, 노드 플로우의 실행 요청)을 획득할 수 있고, 상기 요청에 응답하여 노드 플로우를 실행한 결과에 따른 훈련 데이터를 생성할 수 있다. 예를 들어, 전자 장치(100)는 시작 노드에서 출발하여 각 전이 관계에 설정된 전이 확률에 따라 다음 노드로 진행(이동)하면서 이동한 노드를 실행한 결과 값을 식별할 수 있고, 마지막 출력 노드를 거쳐 종료 노드까지 실행한 후에 각 노드를 실행한 결과 값에 따른 훈련 데이터를 생성할 수 있다. According to one embodiment, after the setting of the transition relationship between each node in the node flow and the setting of the variable-related values for each node are completed, the electronic device (100) may obtain a request for generating training data (i.e., a request for executing the node flow) from a user, and generate training data according to the result of executing the node flow in response to the request. For example, the electronic device (100) may identify the result value of executing the moved node while starting from a start node and proceeding (moving) to the next node according to the transition probability set for each transition relationship, and generate training data according to the result value of executing each node after executing through the last output node to the end node.
일 실시예에 따르면, 전자 장치(100)는 훈련 데이터의 생성 요청으로서, 사용자로부터 훈련 데이터의 생성 개수(entries)를 획득할 수 있다. 예를 들어, 도 5를 참조하면, 전자 장치(100)는 사용자로부터 훈련 데이터를 10개 생성할 것을 요청 받은 경우, 10개의 훈련 데이터를 생성할 수 있고, 이 경우 첫 번째 훈련 데이터는 [{"type":"user", "name":"Greeting", "content":"hello"}, {"type":"assistant", "name":"Greeting", "content":"Hi!"}]를 나타낸다. 또 다른 예로서, 전자 장치(100)는 사용자로부터 훈련 데이터를 100개 생성할 것을 요청 받은 경우, 100개의 훈련 데이터를 생성할 수 있다. According to one embodiment, the electronic device (100) may obtain the number of generated training data (entries) from the user as a request for generating training data. For example, referring to FIG. 5, if the electronic device (100) receives a request to generate 10 training data from the user, the electronic device (100) may generate 10 training data, in which case the first training data represents [{"type":"user", "name":"Greeting", "content":"hello"}, {"type":"assistant", "name":"Greeting", "content":"Hi!"}]. As another example, if the electronic device (100) receives a request to generate 100 training data from the user, the electronic device (100) may generate 100 training data.
일 실시예에 따르면, 각 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 노드 플로우의 실행에 따라, 훈련 데이터의 프롬프트 데이터 및 컴플리션 데이터 각각에 대응하는 출력 노드의 타입(type), 출력 변수(name), 및 컨텐트(content)(즉, 후보 출력 변수 값 중에서 선택된 값)를 출력할 수 있다. 예를 들어, 도 5를 참조하면, 첫 번째 훈련 데이터에서 프롬프트 데이터는 {"type":"user", "name":"Greeting", "content":"hello"}이고, 컴플리션 데이터는 {"type":"assistant", "name":"Greeting", "content":"Hi!"}일 수 있다. According to one embodiment, each training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message. According to one embodiment, the electronic device (100) may output a type, an output variable (name), and content (i.e., a value selected from among candidate output variable values) of an output node corresponding to each of the prompt data and the completion data of the training data according to execution of the node flow. For example, referring to FIG. 5, in the first training data, the prompt data may be {"type":"user", "name":"Greeting", "content":"hello"}, and the completion data may be {"type":"assistant", "name":"Greeting", "content":"Hi!"}.
일 실시예에 따르면, 후보 출력 변수 값에 특정 저장 변수가 포함된 경우, 전자 장치(100)는 노드 플로우의 실행에 따라, 특정 저장 변수에 대하여 선택된 후보 저장 변수 값을 포함시킨 후보 출력 변수 값으로 훈련 데이터를 생성할 수 있다. 예를 들어, 도 3을 참조하면, 출력 노드 오브젝트(320)의 후보 출력 변수 값(예: "Hi again! I'm {name}.)에 특정 저장 변수(예: name)가 포함된 경우, 전자 장치(100)는 노드 플로우의 실행에 따라, 특정 저장 변수에 대하여 선택된 후보 저장 변수 값(예: Alex)을 포함시킨 후보 출력 변수 값으로 훈련 데이터를 생성할 수 있다.According to one embodiment, if a candidate output variable value includes a specific storage variable, the electronic device (100) may generate training data with the candidate output variable value including the candidate storage variable value selected for the specific storage variable according to the execution of the node flow. For example, referring to FIG. 3, if a candidate output variable value of an output node object (320) (e.g., "Hi again! I'm {name}.) includes a specific storage variable (e.g., name), the electronic device (100) may generate training data with the candidate output variable value including the candidate storage variable value (e.g., Alex) selected for the specific storage variable according to the execution of the node flow.
일 실시예에 따르면, 전자 장치(100)는 JSON(JavaScript Object Notation) 구조화된 포맷으로 훈련 데이터를 생성할 수 있다. JSON 포맷은 하나의 예시일 뿐, 이에 한정되지 않고, 이 기술분야의 당업자에 의하여 용이하게 실현 가능한 다양한 포맷으로 훈련 데이터를 생성할 수 있다. 예를 들어, 훈련 데이터는 XML(eXtensible Markup Language), CSV(Comma-Separated Values), TXT 등의 파일 형태로 변환되어 저장될 수 있다.According to one embodiment, the electronic device (100) can generate training data in a JSON (JavaScript Object Notation) structured format. The JSON format is only one example and is not limited thereto, and training data can be generated in various formats that can be easily realized by those skilled in the art. For example, the training data can be converted and stored in a file format such as XML (eXtensible Markup Language), CSV (Comma-Separated Values), TXT, etc.
도 6a는 다양한 실시예들에 따른, 번역용 LLM의 훈련 데이터를 생성하기 위한 노드 플로우 오브젝트를 나타내는 도면이다.FIG. 6a is a diagram illustrating a node flow object for generating training data for an LLM for translation according to various embodiments.
도 6b는 다양한 실시예들에 따른, 도 6a의 노드 플로우 오브젝트에 의하여 생성된 번역용 LLM의 훈련 데이터 엔트리의 예시를 나타내는 도면이다.FIG. 6b is a diagram illustrating an example of a training data entry of a translation LLM generated by the node flow object of FIG. 6a according to various embodiments.
다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 사용자로부터 적어도 하나의 노드를 생성하기 위한 입력을 수신할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 번역용 LLM의 훈련 데이터를 생성하기 위하여, 사용자 입력에 따라 시스템 메시지를 생성하기 위한 출력 노드 오브젝트, 프롬프트 데이터로서 가상의 사용자 메시지를 생성하기 위한 출력 노드 오브젝트, 또는 컴플리션 데이터로서 가상의 에이전트 메시지 중 적어도 하나를 생성하기 위한 출력 노드 오브젝트를 생성할 수 있다. 예를 들어, 도 6a를 참조하면, 전자 장치(100)는 사용자 입력에 따라 시작 노드 오브젝트(601), 시스템 메시지를 생성하기 위한 제1 출력 노드 오브젝트(611), 가상의 사용자 메시지를 생성하기 위한 제2-1 내지 제2-3 출력 노드 오브젝트(621, 622, 623), 가상의 에이전트 메시지를 생성하기 위한 제3-1 내지 제3-3 출력 노드 오브젝트(631, 632, 633), 종료 노드 오브젝트(602)를 생성할 수 있다.According to various embodiments, the electronic device (100) (e.g., the processor (120) of FIG. 1) may receive an input from a user to generate at least one node. According to one embodiment, the electronic device (100) may generate an output node object for generating a system message according to a user input, an output node object for generating a virtual user message as prompt data, or an output node object for generating at least one of a virtual agent message as completion data, in order to generate training data of an LLM for translation. For example, referring to FIG. 6A, the electronic device (100) may generate a start node object (601), a first output node object (611) for generating a system message, 2-1st to 2-3rd output node objects (621, 622, 623) for generating a virtual user message, 3-1st to 3-3rd output node objects (631, 632, 633) for generating a virtual agent message, and an end node object (602) according to a user input.
일 실시예에 따르면, 번역용 LLM의 훈련 데이터로서의 가상의 사용자 메시지는 번역의 대상이 되는 원문 메시지를 의미할 수 있고, 가상의 에이전트 메시지는 원문 메시지를 번역한 번역문 메시지를 의미할 수 있다. According to one embodiment, a virtual user message as training data of an LLM for translation may mean an original message to be translated, and a virtual agent message may mean a translated message that is a translation of the original message.
일 실시예에 따르면, 가상의 사용자 메시지 및/또는 가상의 에이전트 메시지를 생성하기 위한 출력 노드 오브젝트 각각은 유사한 표현을 출력하도록 훈련된 LLM에 연동될 수 있고, 전자 장치(100)는 사용자 요청에 따라 상기 LLM을 이용하여 후보 출력 변수 값을 미리 정해진 개수만큼 확장할 수 있다. 예를 들어, 가상의 사용자 메시지를 생성하기 위한 출력 노드 오브젝트(621)에 후보 출력 변수 값으로서 2개의 데이터(예: "안녕하세요", "안녕")만 입력되어 있는 경우, 사용자로부터 확장 버튼(Expand)이 선택됨에 따라 전자 장치(100)는 상기 2개의 데이터를 LLM에 입력하여 유사한 데이터(예: "안녕~", "헬로", "안녕하십니까" 등)를 미리 정해진 개수(예: 11개)만큼 확장하여 출력 노드 오브젝트(621)에 입력할 수 있다. 여기서 미리 정해진 개수는, 사용자에 의하여 자유롭게 변경 설정될 수 있다.According to one embodiment, each of the output node objects for generating a virtual user message and/or a virtual agent message may be linked to an LLM trained to output similar expressions, and the electronic device (100) may expand candidate output variable values by a predetermined number using the LLM according to a user request. For example, if only two data (e.g., “Hello”, “Hello”) are input as candidate output variable values in the output node object (621) for generating a virtual user message, when the user selects an expand button (Expand), the electronic device (100) may input the two data into the LLM to expand similar data (e.g., “Hello~”, “Hello”, “Hello”, etc.) by a predetermined number (e.g., 11) and input them into the output node object (621). Here, the predetermined number may be freely changed and set by the user.
일 실시예에 따르면, 전자 장치(100)는 사용자로부터 적어도 하나의 노드 사이의 전이 관계 및 전이 확률을 설정하기 위한 입력을 수신할 수 있다. 예를 들어, 도 6a를 참조하면, 전자 장치(100)는 사용자 입력에 따라 제1 출력 노드 오브젝트(611)로부터 제2-1 내지 제2-3 출력 노드 오브젝트(621, 622, 623)로의 전이 관계 및 전이 확률(예: 각 33%)을 설정할 수 있다. 또 다른 예를 들어, 도 6a를 참조하면, 전자 장치(100)는 사용자 입력에 따라 제2-1 내지 제2-3 출력 노드 오브젝트(621, 622, 623)로부터 제3-1 내지 제3-3 출력 노드 오브젝트(631, 632, 633)로의 전이 관계 및 전이 확률(예: 각 100%)을 설정할 수 있다. 또 다른 예를 들어, 전자 장치(100)는 사용자 입력에 따라 제3-1 내지 제3-3 출력 노드 오브젝트(631, 632, 633)로부터 종료 노드 오브젝트(602)로의 전이 관계 및 전이 확률(예: 각 100%)을 설정할 수 있다.According to one embodiment, the electronic device (100) may receive an input from a user to set a transition relationship and a transition probability between at least one node. For example, referring to FIG. 6A, the electronic device (100) may set a transition relationship and a transition probability (e.g., each 33%) from a first output node object (611) to a second-first to second-third output node objects (621, 622, 623) according to a user input. For another example, referring to FIG. 6A, the electronic device (100) may set a transition relationship and a transition probability (e.g., each 100%) from a second-first to second-third output node objects (621, 622, 623) to a third-first to third-third output node objects (631, 632, 633) according to a user input. As another example, the electronic device (100) can set a transition relationship and a transition probability (e.g., 100% each) from the 3-1 to 3-3 output node objects (631, 632, 633) to the end node object (602) based on user input.
일 실시예에 따르면, 번역용 LLM의 훈련 데이터는 도 2 내지 도 5에서 설명된 대화용 LLM의 훈련 데이터의 내용이 적용될 수 있고, 대화용 LLM의 훈련 데이터 또한 전술한 번역용 LLM의 훈련 데이터의 내용이 적용될 수 있다.According to one embodiment, the training data of the LLM for translation may be applied with the contents of the training data of the LLM for conversation described in FIGS. 2 to 5, and the training data of the LLM for conversation may also be applied with the contents of the training data of the LLM for translation described above.
일 실시예에 따라, 도 6b를 참조하면, 번역용 LLM의 훈련 데이터의 가상의 사용자 메시지를 생성하기 위한 출력 노드 오브젝트는 노드 플로우 오브젝트의 실행에 따라 1개의 프롬프트 데이터(예: 원문 메시지) 및 1개의 컴플리션 데이터(예: 번역문 메시지)를 출력하도록 설정될 수 있고, 이에 따라 전자 장치(100)는 도 6a의 노드 플로우를 실행한 결과, 도 6b와 같은 훈련 데이터 엔트리를 생성할 수 있다.According to one embodiment, referring to FIG. 6b, an output node object for generating a virtual user message of training data of an LLM for translation may be set to output one prompt data (e.g., an original message) and one completion data (e.g., a translated message) upon execution of a node flow object, so that the electronic device (100) may generate a training data entry such as FIG. 6b as a result of executing the node flow of FIG. 6a.
도 7a는 다양한 실시예들에 따른, 요약용 LLM의 훈련 데이터를 생성하기 위한 노드 플로우 오브젝트를 나타내는 도면이다.FIG. 7a is a diagram illustrating a node flow object for generating training data of a summary LLM according to various embodiments.
도 7b는 다양한 실시예들에 따른, 도 6a의 노드 플로우 오브젝트에 의하여 생성된 요약용 LLM의 훈련 데이터 엔트리의 예시를 나타내는 도면이다.FIG. 7b is a diagram illustrating an example of a training data entry of a summary LLM generated by the node flow object of FIG. 6a according to various embodiments.
다양한 실시예들에 따르면, 전자 장치(100)(예: 도 1의 프로세서(120))는 사용자로부터 적어도 하나의 노드를 생성하기 위한 입력을 수신할 수 있다. 일 실시예에 따르면, 전자 장치(100)는 요약용 LLM의 훈련 데이터를 생성하기 위하여, 사용자 입력에 따라 시스템 메시지를 생성하기 위한 출력 노드 오브젝트, 프롬프트 데이터로서 가상의 사용자 메시지를 생성하기 위한 출력 노드 오브젝트, 또는 컴플리션 데이터로서 가상의 에이전트 메시지 중 적어도 하나를 생성하기 위한 출력 노드 오브젝트를 생성할 수 있다. 예를 들어, 도 7a를 참조하면, 전자 장치(100)는 사용자 입력에 따라 시작 노드 오브젝트(701), 시스템 메시지를 생성하기 위한 제1 출력 노드 오브젝트(711), 가상의 사용자 메시지를 생성하기 위한 제2-1 내지 제2-2 출력 노드 오브젝트(721, 722), 가상의 에이전트 메시지를 생성하기 위한 제3-1 내지 제3-2 출력 노드 오브젝트(731, 732), 종료 노드 오브젝트(702)를 생성할 수 있다.According to various embodiments, the electronic device (100) (e.g., the processor (120) of FIG. 1) may receive an input from a user to generate at least one node. According to one embodiment, the electronic device (100) may generate an output node object for generating a system message according to a user input, an output node object for generating a virtual user message as prompt data, or an output node object for generating at least one of a virtual agent message as completion data, in order to generate training data of a summary LLM. For example, referring to FIG. 7A, the electronic device (100) may generate a start node object (701), a first output node object (711) for generating a system message, second-1 to second-2 output node objects (721, 722) for generating a virtual user message, third-1 to third-2 output node objects (731, 732) for generating a virtual agent message, and an end node object (702) according to a user input.
일 실시예에 따르면, 요약용 LLM의 훈련 데이터로서의 가상의 사용자 메시지는 요약의 대상이 되는 원문 메시지를 의미할 수 있고, 가상의 에이전트 메시지는 원문 메시지를 요약한 요약문 메시지를 의미할 수 있다. According to one embodiment, a virtual user message as training data of a summary LLM may mean an original message that is a target of summary, and a virtual agent message may mean a summary message that summarizes the original message.
일 실시예에 따르면, 가상의 사용자 메시지 및/또는 가상의 에이전트 메시지를 생성하기 위한 출력 노드 오브젝트 각각은 미리 정해진 기준(예: 동일한 내용을 상이한 방식으로 출력하는 동작)에 따라 새로운 메시지를 출력하도록 훈련된 LLM에 연동될 수 있고, 전자 장치(100)는 사용자 요청에 따라 상기 LLM을 이용하여 후보 출력 변수 값을 미리 정해진 개수만큼 확장할 수 있다. 상술한 미리 정해진 기준(예: 동일한 내용을 상이한 방식으로 출력하는 동작)은, 문장의 내용을 유지하되 문장 구조/배치를 변경하거나, 문장의 핵심 표현은 유지하되 문장의 조사를 변경하거나, 감탄어를 추가/제거하는 등의 다양한 동작을 포함할 수 있다. 예를 들어, 가상의 사용자 메시지를 생성하기 위한 출력 노드 오브젝트(721)에 후보 출력 변수 값으로서 2개의 데이터(721a, 721b)만 입력되어 있는 경우, 사용자로부터 확장 버튼(Expand)이 선택됨에 따라 전자 장치(100)는 상기 2개의 데이터를 LLM에 입력하여 2개의 데이터(721a, 721b)의 내용과 동일하지만 상이한 방식으로 작성된 새로운 데이터(예: 새로운 리뷰 메시지들)를 미리 정해진 개수(예: 3개)만큼 확장하여 출력 노드 오브젝트(721)에 입력할 수 있다. 여기서 미리 정해진 개수는, 사용자에 의하여 자유롭게 변경 설정될 수 있다. According to one embodiment, each of the output node objects for generating the virtual user message and/or the virtual agent message may be linked to an LLM trained to output a new message according to a predetermined criterion (e.g., an action of outputting the same content in a different manner), and the electronic device (100) may expand the candidate output variable values by a predetermined number using the LLM according to a user request. The above-described predetermined criterion (e.g., an action of outputting the same content in a different manner) may include various actions such as maintaining the content of a sentence but changing the sentence structure/arrangement, maintaining the core expression of the sentence but changing the particles of the sentence, or adding/removing an exclamation mark. For example, if only two data (721a, 721b) are input as candidate output variable values in an output node object (721) for generating a virtual user message, when an expand button (Expand) is selected by the user, the electronic device (100) can input the two data into the LLM to expand new data (e.g., new review messages) that are identical to the contents of the two data (721a, 721b) but written in a different manner by a predetermined number (e.g., three) and input them into the output node object (721). Here, the predetermined number can be freely changed and set by the user.
일 실시예에 따르면, 전자 장치(100)는 사용자로부터 적어도 하나의 노드 사이의 전이 관계 및 전이 확률을 설정하기 위한 입력을 수신할 수 있다. 예를 들어, 도 7a를 참조하면, 전자 장치(100)는 사용자 입력에 따라 제1 출력 노드 오브젝트(711)로부터 제2-1 내지 제2-2 출력 노드 오브젝트(721, 722)로의 전이 관계 및 전이 확률(예: 각 50%)을 설정할 수 있다. 또 다른 예를 들어, 도 7a를 참조하면, 전자 장치(100)는 사용자 입력에 따라 제2-1 내지 제2-2 출력 노드 오브젝트(721, 722)로부터 제3-1 내지 제3-2 출력 노드 오브젝트(731, 732)로의 전이 관계 및 전이 확률(예: 각 100%)을 설정할 수 있다. 또 다른 예를 들어, 전자 장치(100)는 사용자 입력에 따라 제3-1 내지 제3-2 출력 노드 오브젝트(731, 732)로부터 종료 노드 오브젝트(702)로의 전이 관계 및 전이 확률(예: 각 100%)을 설정할 수 있다.According to one embodiment, the electronic device (100) may receive an input from a user to set a transition relationship and a transition probability between at least one node. For example, referring to FIG. 7A, the electronic device (100) may set a transition relationship and a transition probability (e.g., each 50%) from a first output node object (711) to a second-first to second-second output node objects (721, 722) according to a user input. For another example, referring to FIG. 7A, the electronic device (100) may set a transition relationship and a transition probability (e.g., each 100%) from a second-first to second-second output node objects (721, 722) to a third-first to third-second output node objects (731, 732) according to a user input. As another example, the electronic device (100) can set a transition relationship and a transition probability (e.g., 100% each) from the 3-1 to 3-2 output node objects (731, 732) to the end node object (702) based on user input.
일 실시예에 따르면, 요약용 LLM의 훈련 데이터는 도 2 내지 도 5에서 설명된 대화용 LLM의 훈련 데이터의 내용이 적용될 수 있고, 대화용 LLM의 훈련 데이터 또한 전술한 요약용 LLM의 훈련 데이터의 내용이 적용될 수 있다.According to one embodiment, the training data of the summary LLM can be applied with the contents of the training data of the conversational LLM described in FIGS. 2 to 5, and the training data of the conversational LLM can also be applied with the contents of the training data of the summary LLM described above.
일 실시예에 따라, 도 7b를 참조하면, 요약용 LLM의 훈련 데이터의 가상의 사용자 메시지를 생성하기 위한 출력 노드 오브젝트는 노드 플로우 오브젝트의 실행에 따라 1개의 프롬프트 데이터(예: 원문 메시지) 및 1개의 컴플리션 데이터(예: 요약문 메시지)를 출력하도록 설정될 수 있고, 이에 따라 전자 장치(100)는 도 7a의 노드 플로우를 실행한 결과, 도 7b와 같은 훈련 데이터 엔트리를 생성할 수 있다. According to one embodiment, referring to FIG. 7b, an output node object for generating a virtual user message of training data of a summary LLM may be set to output one prompt data (e.g., an original message) and one completion data (e.g., a summary message) upon execution of a node flow object, and accordingly, the electronic device (100) may generate a training data entry such as FIG. 7b as a result of executing the node flow of FIG. 7a.
다양한 실시예들에 따르면, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 전자 장치는, 디스플레이, 및 프로세서를 포함하고, 상기 프로세서는, 상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하고, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하고, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하도록 설정되고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다.According to various embodiments, an electronic device for generating training data to be used for training a large-scale language model includes a display, and a processor, wherein the processor is configured to generate, using an application for generating the training data, at least one of a storage node, a switch node, a branch node, and an output node, generate a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node, and generate the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
다양한 실시예들에 따르면, 상기 적어도 하나의 노드 및 상기 노드 플로우는 그래픽 유저 인터페이스 형태로 구현되고, 상기 노드 플로우는, 상기 프롬프트 데이터를 생성하기 위한 적어도 하나의 출력 노드 및 상기 컴플리션 데이터를 생성하기 위한 적어도 하나의 출력 노드를 포함할 수 있다.According to various embodiments, the at least one node and the node flow are implemented in the form of a graphical user interface, and the node flow may include at least one output node for generating the prompt data and at least one output node for generating the completion data.
다양한 실시예들에 따르면, 상기 프로세서는, 상기 저장 노드에 대한 변수 관련 값으로서, 저장 변수 및 후보 저장 변수 값을 획득하고, 상기 스위치 노드에 대한 변수 관련 값으로서, 조건 변수를 획득하고, 상기 분기 노드에 대한 변수 관련 값으로서, 상기 조건 변수의 후보 상태 값을 획득하고, 및 상기 출력 노드에 대한 변수 관련 값으로서, 출력 변수 및 후보 출력 변수 값을 획득하도록 설정될 수 있다.According to various embodiments, the processor may be configured to obtain, as variable-related values for the storage node, a storage variable and a candidate storage variable value, as variable-related values for the switch node, a condition variable, as variable-related values for the branch node, a candidate state value of the condition variable, and as variable-related values for the output node, an output variable and a candidate output variable value.
다양한 실시예들에 따르면, 상기 프로세서는, 상기 후보 출력 변수 값에 특정 저장 변수가 포함된 경우, 상기 노드 플로우의 실행에 따라, 상기 특정 저장 변수에 대하여 선택된 후보 저장 변수 값을 포함시킨 후보 출력 변수 값으로 상기 훈련 데이터를 생성하도록 설정될 수 있다.According to various embodiments, the processor may be configured to generate the training data with candidate output variable values that include a candidate storage variable value selected for the specific storage variable, upon execution of the node flow, if the candidate output variable value includes a specific storage variable.
다양한 실시예들에 따르면, 상기 프로세서는, 상기 노드 플로우의 실행에 따라, 상기 프롬프트 데이터 및 상기 컴플리션 데이터 각각에 대응하는 출력 노드의 타입(type), 출력 변수(name), 및 컨텐트(content)를 출력하도록 설정될 수 있다.According to various embodiments, the processor may be configured to output a type, an output variable, and content of an output node corresponding to each of the prompt data and the completion data, according to execution of the node flow.
다양한 실시예들에 따르면, 상기 프로세서는, 상기 훈련 데이터의 생성 요청으로서, 사용자로부터 상기 훈련 데이터를 생성할 개수를 획득하도록 설정되고, 상기 훈련 데이터는 JSON 구조화된 포맷으로 생성될 수 있다.According to various embodiments, the processor is configured to obtain a number of training data to be generated from a user as a request for generation of the training data, wherein the training data can be generated in a JSON structured format.
다양한 실시예들에 따르면, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하는 전자 장치의 동작 방법은, 상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하는 동작, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하는 동작, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하는 동작을 포함하고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다.According to various embodiments, a method of operating an electronic device for generating training data to be used for training a large-scale language model includes an operation of generating at least one node among a storage node, a switch node, a branch node, and an output node by using an application for generating the training data, an operation of generating a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node, and an operation of generating the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
다양한 실시예들에 따르면, 컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램들을 포함하는, 컴퓨터 프로그램 제품으로서, 상기 하나 이상의 프로그램들은, 대규모 언어 모델의 훈련에 사용될 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하는 단계, 상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하는 단계, 및 상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하는 단계를 위한 명령어를 포함하고, 상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함할 수 있다.According to various embodiments, a computer program product comprising one or more programs configured to be executed by one or more processors of a computer system, the one or more programs including instructions for: using an application for generating training data to be used for training a large-scale language model, generating at least one of a storage node, a switch node, a branch node, and an output node; generating a node flow that sets a transition relationship between the at least one node and a variable-related value for each of the at least one node; and generating the training data according to a result of executing the node flow in response to a request for generating the training data, wherein the training data may include prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
본 문서에서 사용된 용어 "모듈" 또는 "~부"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈" 또는 "~부"는, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈" 또는 "~부"는 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있고, 프로세서(120)에 의하여 실행될 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예: 메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. The term "module" or "~unit" used in this document includes a unit composed of hardware, software or firmware, and can be used interchangeably with terms such as logic, logic block, component, or circuit, for example. The "module" or "~unit" can be an integrally configured component or a minimum unit or a part thereof that performs one or more functions. The "module" or "~unit" can be implemented mechanically or electronically, and can include, for example, an ASIC (application-specific integrated circuit) chip, FPGAs (field-programmable gate arrays), or a programmable logic device, known or to be developed in the future, that performs certain operations, and can be executed by the processor (120). At least a part of the device (e.g., modules or functions thereof) or the method (e.g., operations) according to various embodiments can be implemented as instructions stored in a computer-readable storage medium (e.g., memory (130)) in the form of a program module. When the above command is executed by a processor (e.g., processor (120)), the processor can perform a function corresponding to the command. The computer-readable recording medium may include a hard disk, a floppy disk, a magnetic medium (e.g., a magnetic tape), an optical recording medium (e.g., a CD-ROM, a DVD, a magneto-optical medium (e.g., a floptical disk), a built-in memory, etc. The command may include a code generated by a compiler or a code executable by an interpreter. A module or a program module according to various embodiments may include at least one or more of the above-described components, some of them may be omitted, or other components may be further included. Operations performed by a module, a program module, or other components according to various embodiments may be executed sequentially, in parallel, repeatedly, or heuristically, or at least some of the operations may be executed in a different order, omitted, or other operations may be added.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 범위는, 본 개시의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.And the embodiments disclosed in this document are presented for the purpose of explanation and understanding of the disclosed technical contents, and do not limit the scope of the present disclosure. Therefore, the scope of the present disclosure should be interpreted to include all modifications or various other embodiments based on the technical idea of the present disclosure.
Claims (7)
디스플레이, 및
프로세서를 포함하고,
상기 프로세서는,
상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하고,
상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하고, 및
상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하도록 설정되고,
상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함하는,
전자 장치.
An electronic device for generating training data to be used for training a large-scale language model,
Display, and
Contains a processor,
The above processor,
Using an application for generating the above training data, at least one node among a storage node, a switch node, a branch node, and an output node is generated,
Generating a node flow that sets a transition relationship between at least one of the nodes and a variable-related value for each of the at least one node, and
In response to the request for generating the above training data, the training data is set to be generated according to the result of executing the above node flow,
The above training data includes prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
Electronic devices.
상기 적어도 하나의 노드 및 상기 노드 플로우는 그래픽 유저 인터페이스 형태로 구현되고,
상기 노드 플로우는, 상기 프롬프트 데이터를 생성하기 위한 적어도 하나의 출력 노드 및 상기 컴플리션 데이터를 생성하기 위한 적어도 하나의 출력 노드를 포함하는,
전자 장치.
In the first paragraph,
The above at least one node and the node flow are implemented in the form of a graphical user interface,
The above node flow comprises at least one output node for generating the prompt data and at least one output node for generating the completion data.
Electronic devices.
상기 프로세서는,
상기 저장 노드에 대한 변수 관련 값으로서, 저장 변수 및 후보 저장 변수 값을 획득하고,
상기 스위치 노드에 대한 변수 관련 값으로서, 조건 변수를 획득하고,
상기 분기 노드에 대한 변수 관련 값으로서, 상기 조건 변수의 후보 상태 값을 획득하고, 및
상기 출력 노드에 대한 변수 관련 값으로서, 출력 변수 및 후보 출력 변수 값을 획득하도록 설정된,
전자 장치.
In the first paragraph,
The above processor,
As variable-related values for the above storage node, storage variable and candidate storage variable values are obtained,
As a variable related value for the above switch node, a condition variable is obtained,
As a variable related value for the above branch node, obtain a candidate state value of the condition variable, and
As a variable-related value for the above output node, set to obtain output variable and candidate output variable values,
Electronic devices.
상기 프로세서는,
상기 후보 출력 변수 값에 특정 저장 변수가 포함된 경우, 상기 노드 플로우의 실행에 따라, 상기 특정 저장 변수에 대하여 선택된 후보 저장 변수 값을 포함시킨 후보 출력 변수 값으로 상기 훈련 데이터를 생성하도록 설정된,
In the third paragraph,
The above processor,
If the candidate output variable value includes a specific storage variable, the training data is set to be generated as a candidate output variable value that includes the candidate storage variable value selected for the specific storage variable according to the execution of the node flow.
상기 프로세서는,
상기 노드 플로우의 실행에 따라, 상기 프롬프트 데이터 및 상기 컴플리션 데이터 각각에 대응하는 출력 노드의 타입(type), 출력 변수(name), 및 컨텐트(content)를 출력하도록 설정된,
전자 장치.
In the first paragraph,
The above processor,
According to the execution of the above node flow, the type, output variable (name), and content of the output node corresponding to each of the above prompt data and the above completion data are set to be output.
Electronic devices.
상기 프로세서는,
상기 훈련 데이터의 생성 요청으로서, 사용자로부터 상기 훈련 데이터를 생성할 개수를 획득하도록 설정되고,
상기 훈련 데이터는 JSON 구조화된 포맷으로 생성된,
전자 장치.
In the first paragraph,
The above processor,
As a request for generating the above training data, it is set to obtain the number of training data to be generated from the user,
The above training data is generated in JSON structured format.
Electronic devices.
상기 훈련 데이터를 생성하기 위한 어플리케이션을 이용하여, 저장 노드, 스위치 노드, 분기 노드, 및 출력 노드 중 적어도 하나의 노드를 생성하는 동작,
상기 적어도 하나의 노드 사이의 전이 관계 및 상기 적어도 하나의 노드 각각에 대한 변수 관련 값을 설정한 노드 플로우를 생성하는 동작, 및
상기 훈련 데이터의 생성 요청에 응답하여, 상기 노드 플로우를 실행한 결과에 따른 상기 훈련 데이터를 생성하는 동작을 포함하고,
상기 훈련 데이터는, 가상의 사용자 메시지에 대응하는 프롬프트 데이터(prompt data) 및 가상의 에이전트 메시지에 대응하는 컴플리션 데이터(completion data)를 포함하는,
전자 장치의 동작 방법.A method of operating an electronic device for generating training data to be used in training a large-scale language model,
An operation of generating at least one node among a storage node, a switch node, a branch node, and an output node using an application for generating the above training data;
An operation of generating a node flow that sets a transition relationship between at least one of the nodes and a variable-related value for each of the at least one node, and
In response to the request for generating the training data, the operation of generating the training data according to the result of executing the node flow is included.
The above training data includes prompt data corresponding to a virtual user message and completion data corresponding to a virtual agent message.
How an electronic device operates.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240133460A KR20250063182A (en) | 2023-10-31 | 2024-10-02 | Server for providing information on package travel products together with related context information using large language model and method for operation thereof |
PCT/KR2024/016371 WO2025095472A1 (en) | 2023-10-31 | 2024-10-25 | Server for providing related context information in real time while transmitting and receiving chat message to and from user equipment and operation method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20230148563 | 2023-10-31 | ||
KR1020230148563 | 2023-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20250063138A true KR20250063138A (en) | 2025-05-08 |
KR102807980B1 KR102807980B1 (en) | 2025-05-19 |
Family
ID=93118650
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230178994A Active KR102714332B1 (en) | 2023-10-31 | 2023-12-11 | Server for providing relevant context information in real time while sending and receiving chat messages with user device and method for operation thereof |
KR1020240005561A Active KR102714333B1 (en) | 2023-10-31 | 2024-01-12 | Server for providing package travel product while sending and receiving chat messages with user device through intelligent agent and method for operation thereof |
KR1020240071792A Active KR102807980B1 (en) | 2023-10-31 | 2024-05-31 | Electronic device for generating training data to be used for training large-scale language model and method for operation thereof |
KR1020240133459A Pending KR20250063181A (en) | 2023-10-31 | 2024-10-02 | Server for providing messages generated through large language model along with a plurality of related contents in real time and method for operation thereof |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230178994A Active KR102714332B1 (en) | 2023-10-31 | 2023-12-11 | Server for providing relevant context information in real time while sending and receiving chat messages with user device and method for operation thereof |
KR1020240005561A Active KR102714333B1 (en) | 2023-10-31 | 2024-01-12 | Server for providing package travel product while sending and receiving chat messages with user device through intelligent agent and method for operation thereof |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020240133459A Pending KR20250063181A (en) | 2023-10-31 | 2024-10-02 | Server for providing messages generated through large language model along with a plurality of related contents in real time and method for operation thereof |
Country Status (1)
Country | Link |
---|---|
KR (4) | KR102714332B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20250063182A (en) * | 2023-10-31 | 2025-05-08 | 주식회사 와이넥스트 | Server for providing information on package travel products together with related context information using large language model and method for operation thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200087514A (en) * | 2019-01-11 | 2020-07-21 | 주식회사 액션파워 | Coputer device for providing dialogues services |
KR102234850B1 (en) * | 2019-11-15 | 2021-04-02 | 숭실대학교산학협력단 | Method and apparatus for complementing knowledge based on relation network |
US11704506B2 (en) | 2020-08-26 | 2023-07-18 | Google Llc | Learned evaluation model for grading quality of natural language generation outputs |
KR102647511B1 (en) | 2023-08-23 | 2024-03-14 | 주식회사 액션파워 | Method for reinforce learning on large language model |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101229110B1 (en) * | 2011-03-24 | 2013-02-01 | 김다혜 | System and method for providing tour information |
KR20170124194A (en) * | 2016-05-02 | 2017-11-10 | 배상은 | Method and program for providing travel information |
KR102365688B1 (en) * | 2017-04-06 | 2022-02-22 | 삼성전자주식회사 | Method and electronic device for providing contents based on natural language understanding |
KR20180003417A (en) | 2017-04-21 | 2018-01-09 | 주식회사 엔터플 | Method and apparatus for providing content using chatbot |
KR20190083280A (en) * | 2018-01-03 | 2019-07-11 | 에스투원 주식회사 | Method of providing customized tour package |
KR102574593B1 (en) | 2018-03-29 | 2023-09-05 | 삼성전자주식회사 | The divice and method for providing service by using a chatbot |
KR20220015761A (en) * | 2020-07-31 | 2022-02-08 | 주식회사 퍼슨스컴퍼니 | Method for collecting basic information of patient |
KR20220107390A (en) * | 2021-01-25 | 2022-08-02 | 제주한라대학교산학협력단 | System for smart tourism service using voice and text chatbot |
KR102482269B1 (en) * | 2022-03-30 | 2022-12-28 | 주식회사 인터파크 | System for providing travel self-package services |
-
2023
- 2023-12-11 KR KR1020230178994A patent/KR102714332B1/en active Active
-
2024
- 2024-01-12 KR KR1020240005561A patent/KR102714333B1/en active Active
- 2024-05-31 KR KR1020240071792A patent/KR102807980B1/en active Active
- 2024-10-02 KR KR1020240133459A patent/KR20250063181A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200087514A (en) * | 2019-01-11 | 2020-07-21 | 주식회사 액션파워 | Coputer device for providing dialogues services |
KR102234850B1 (en) * | 2019-11-15 | 2021-04-02 | 숭실대학교산학협력단 | Method and apparatus for complementing knowledge based on relation network |
US11704506B2 (en) | 2020-08-26 | 2023-07-18 | Google Llc | Learned evaluation model for grading quality of natural language generation outputs |
KR102647511B1 (en) | 2023-08-23 | 2024-03-14 | 주식회사 액션파워 | Method for reinforce learning on large language model |
Also Published As
Publication number | Publication date |
---|---|
KR20250063181A (en) | 2025-05-08 |
KR102714332B1 (en) | 2024-10-11 |
KR102714333B1 (en) | 2024-10-11 |
KR102807980B1 (en) | 2025-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12050648B2 (en) | Method and system for generating a conversational agent by automatic paraphrase generation based on machine translation | |
US10489112B1 (en) | Method for user training of information dialogue system | |
US10255265B2 (en) | Process flow diagramming based on natural language processing | |
EP3627398A1 (en) | Method, system, and computer program for artificial intelligence answer | |
US10706085B2 (en) | Method and system for exposing virtual assistant services across multiple platforms | |
JP2015201169A (en) | Translation result providing method and system based on various semantic categories | |
CN110442330A (en) | List element conversion method, device, electronic equipment and storage medium | |
US11019012B2 (en) | File sending in instant messaging application | |
KR102188564B1 (en) | Method and system for machine translation capable of style transfer | |
CN117521625A (en) | Question answering method, question answering device, electronic equipment and medium | |
KR102807980B1 (en) | Electronic device for generating training data to be used for training large-scale language model and method for operation thereof | |
JP2023007369A (en) | Translation method, classification model training method, apparatus, device and storage medium | |
CN118689347A (en) | Intelligent agent generation method, interaction method, device, medium and equipment | |
US20230214688A1 (en) | Method, Apparatus for Determining Answer to Question, Device, Storage Medium and Program Product | |
US12260186B2 (en) | Method of generating text, method of training model, electronic device, and medium | |
CN102014199A (en) | Information display method and terminal | |
KR20240171257A (en) | Apparatus for writing electronic document based on large language model through natural language conversation and method for writing electronic document using the same | |
CA2897480A1 (en) | Systems and methods for semantic url handling | |
US20250181622A1 (en) | Method and system for dialogue data generation and processing | |
CN109598001A (en) | A kind of information display method, device and equipment | |
JP2025042486A (en) | Information processing device, information processing method, and information processing program | |
US12046243B2 (en) | Electronic apparatus and method for controlling electronic apparatus thereof | |
KR101195529B1 (en) | Apparatus and method for providing a composition correcting service | |
KR20250128207A (en) | Server for performing multi-stage learning on model parameters to realize multilingual llm and method for operation thereof | |
Libby | Adding Speech Capabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
P16-X000 | Ip right document amended |
St.27 status event code: A-5-5-P10-P16-nap-X000 |
|
Q16-X000 | A copy of ip right certificate issued |
St.27 status event code: A-4-4-Q10-Q16-nap-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |