원문
번역
This next video is on inferring. I like to think of these tasks where the model takes a text as input and performs some kind of analysis. So this could be extracting labels, extracting names, kind of understanding the sentiment of a text, that kind of thing. So if you want to extract a sentiment, positive or negative, of a piece of text, in the traditional machine learning workflow, you'd have to collect the label data set, train a model, figure out how to deploy the model somewhere in the cloud and make inferences. And that could work pretty well, but it was, you know, just a lot of work to go through that process. And also for every task, such as sentiment versus extracting names versus something else, you have to train and deploy a separate model. One of the really nice things about large language model is that for many tasks like these, you can just write a prompt and have it start generating results pretty much right away. And that gives tremendous speed in terms of application development. And you can also just use one model, one API to do many different tasks rather than needing to figure out how to train and deploy a lot of different models. And so with that, let's jump into the code to see how you can take advantage of this. So here's our usual starter code. I'll just run that. And the most fitting example I'm going to use is a review for a lamp. So, "Needed a nice lamp for the bedroom and this one had additional storage" and so on.
이 다음 비디오는 추론에 관한 것입니다. 저는 모델이 텍스트를 입력으로 받아 일종의 분석을 수행하는 이러한 작업을 생각하고 싶습니다. 라벨 추출, 이름 추출, 텍스트의 감정 이해 등이 될 수 있습니다. 따라서 기존의 머신러닝 워크플로에서 텍스트에서 긍정적이든 부정적이든 감정을 추출하려면 라벨 데이터 세트를 수집하고 모델을 교육하고 어딘가에 모델을 배포하는 방법을 알아내야 합니다. 클라우드와 추론을 합니다. 그리고 그것은 꽤 잘 작동할 수 있지만 그 과정을 거치는 데는 많은 작업이 필요했습니다. 또한 감정 대 이름 추출 대 다른 것과 같은 모든 작업에 대해 별도의 모델을 교육하고 배포해야 합니다. 대규모 언어 모델의 정말 좋은 점 중 하나는 이와 같은 많은 작업에서 프롬프트를 작성하고 거의 즉시 결과 생성을 시작할 수 있다는 것입니다. 이는 애플리케이션 개발 측면에서 엄청난 속도를 제공합니다. 또한 다양한 모델을 학습하고 배포하는 방법을 알아낼 필요 없이 하나의 모델, 하나의 API를 사용하여 다양한 작업을 수행할 수 있습니다. 이제 이를 활용하는 방법을 알아보기 위해 코드로 이동해 보겠습니다. 일반적인 시작 코드는 다음과 같습니다. 그냥 실행하겠습니다. 제가 사용할 가장 적합한 예는 램프에 대한 리뷰입니다. 그래서 "침실에 쓸 멋진 램프가 필요했는데 이 램프는 추가 수납공간이 있었습니다." 등이었습니다.
So, let me write a prompt to classify the sentiment of this. And if I want the system to tell me, you know, what is the sentiment. I can just write, "What is the sentiment of the following product review" with the usual delimiter and the review text and so on and let's run that. And this says, "The sentiment of the product review is positive.", which is actually, seems pretty right. This lamp isn't perfect, but this customer seems pretty happy. Seems to be a great company that cares about the customers and products. I think positive sentiment seems to be the right answer. Now this prints out the entire sentence, "The sentiment of the product review is positive." If you wanted to give a more concise response to make it easier for post-processing, I can take this prompt and add another instruction to give you answers to a single word, either positive or negative. So it just prints out positive like this, which makes it easier for a piece of text to take this output and process it and do something with it. Let's look at another prompt, again still using the lamp review. Here, I have ,it "Identify a list of emotions that the writer of the following review is expressing. Include no more than five items in this list." So, large language models are pretty good at extracting specific things out of a piece of text. In this case, we're expressing the emotions and this could be useful for understanding how your customers think about a particular product. For a lot of customer support organizations, it's important to understand if a particular user is extremely upset. So, you might have a different classification problem like this, "Is the writer of the following review expressing anger?". Because if someone is really angry, it might merit paying extra attention to have a customer review, to have customer support or customer success, reach out to figure what's going on and make things right for the customer.
그래서 이것의 감정을 분류하기 위한 프롬프트를 작성하겠습니다. 시스템이 나에게 말해주기를 원한다면 감정이 무엇인지 알 수 있습니다. 일반적인 구분 기호와 리뷰 텍스트 등을 사용하여 "다음 제품 리뷰의 감정은 무엇입니까?"라고 작성하고 실행해 보겠습니다. 그리고 이것은 "제품 리뷰의 정서가 긍정적입니다."라고 말하는데, 실제로는 꽤 맞는 것 같습니다. 이 램프는 완벽하지 않지만 이 고객은 꽤 만족스러워 보입니다. 고객과 제품을 생각하는 훌륭한 회사인 것 같습니다. 긍정적인 정서가 정답인 것 같습니다. 이제 '제품 리뷰의 감정은 긍정적입니다.'라는 전체 문장을 출력합니다. 사후 처리를 더 쉽게 하기 위해 더 간결한 답변을 제공하려는 경우 이 프롬프트에 긍정적이거나 부정적인 한 단어에 대한 답변을 제공하는 다른 지침을 추가할 수 있습니다. 따라서 이와 같이 양수를 출력하므로 텍스트가 이 출력을 가져와서 처리하고 작업을 수행하기가 더 쉬워집니다. 여전히 램프 검토를 사용하는 또 다른 프롬프트를 살펴보겠습니다. 여기에 "다음 리뷰의 작성자가 표현하고 있는 감정 목록을 식별하십시오. 이 목록에는 5개 이하의 항목을 포함하십시오."가 있습니다. 따라서 대규모 언어 모델은 텍스트에서 특정 항목을 추출하는 데 꽤 능숙합니다. 이 경우 감정을 표현하고 있으며 고객이 특정 제품에 대해 어떻게 생각하는지 이해하는 데 유용할 수 있습니다. 많은 고객 지원 조직의 경우 특정 사용자가 극도로 화가 났는지 이해하는 것이 중요합니다. 따라서 '다음 리뷰의 작성자가 분노를 표현하고 있나요?'와 같은 다른 분류 문제가 있을 수 있습니다. 누군가가 정말로 화가 난 경우 고객 리뷰를 받고, 고객 지원 또는 고객 성공을 위해, 무슨 일이 일어나고 있는지 파악하기 위해 연락하고, 고객을 위해 일을 바로잡는 데 더 많은 주의를 기울일 가치가 있을 수 있기 때문입니다.
In this case, the customer is not angry. And notice that with supervised learning, if I had wanted to build all of these classifiers, there's no way I would have been able to do this with supervised learning in the just a few minutes that you saw me do so in this video. I'd encourage you to pause this video and try changing some of these prompts. Maybe ask if the customer is expressing delight or ask if there are any missing parts and see if you can a prompt to make different inferences about this lamp review. Let me show some more things that you can do with this system, specifically extracting richer information from a customer review. So, information extraction is the part of NLP, of Natural Language Processing, that relates to taking a piece of text and extracting certain things that you want to know from the text. So in this prompt, I'm asking it to identify the following items, the item purchase, and the name of the company that made the item. Again, if you are trying to summarize many reviews from an online shopping e-commerce website, it might be useful for your large collection of reviews to figure out what were the items, who made the item, figure out positive and negative sentiment, to track trends about positive or negative sentiment for specific items or for specific manufacturers. And in this example, I'm going to ask it to format your response as a JSON object with "Item" and "Brand" as the keys. And so if I do that, it says the item is a lamp, the brand is Lumina, and you can easily load this into the Python dictionary to then do additional processing on this output. In the examples we've gone through, you saw how to write a prompt to recognize the sentiment, figure out if someone is angry, and then also extract the item and the brand.
이 경우 고객은 화를 내지 않습니다. 지도 학습을 사용하여 이러한 모든 분류 기준을 구축하고 싶었다면 이 비디오에서 내가 하는 것을 본 단 몇 분 만에 지도 학습으로 이 작업을 수행할 수 없었을 것입니다. 이 동영상을 일시중지하고 이러한 메시지 중 일부를 변경해 보시기 바랍니다. 고객이 기뻐하는지 물어보거나 누락된 부품이 있는지 물어보고 이 램프 리뷰에 대해 다른 추론을 할 수 있는지 확인하세요. 이 시스템으로 할 수 있는 몇 가지 작업, 특히 고객 리뷰에서 더 풍부한 정보를 추출하는 방법을 보여드리겠습니다. 따라서 정보 추출은 텍스트 조각을 가져오고 텍스트에서 알고 싶은 특정 항목을 추출하는 것과 관련된 자연 언어 처리의 NLP의 일부입니다. 따라서 이 프롬프트에서 다음 항목, 항목 구매 및 항목을 만든 회사 이름을 식별하도록 요청하고 있습니다. 다시 말하지만, 온라인 쇼핑 전자상거래 웹사이트에서 많은 리뷰를 요약하려는 경우 대규모 리뷰 컬렉션이 항목이 무엇인지 파악하고 항목을 만든 사람이 무엇인지 파악하고 긍정적이고 부정적인 감정을 파악하는 것이 유용할 수 있습니다. 특정 품목 또는 특정 제조업체에 대한 긍정적 또는 부정적인 정서에 대한 추세를 추적합니다. 그리고 이 예시에서는 응답을 'Item' 및 'Brand'를 키로 사용하여 JSON 객체 형식으로 지정하도록 요청할 것입니다. 그렇게 하면 항목이 램프이고 브랜드가 Lumina라고 표시되며 이를 Python 사전에 쉽게 로드한 다음 이 출력에서 추가 처리를 수행할 수 있습니다. 지금까지 살펴본 예에서는 감정을 인식하는 프롬프트를 작성하고 누군가 화가 났는지 파악한 다음 항목과 브랜드를 추출하는 방법을 확인했습니다.
One way to extract all of this information would be to use three or four prompts and call "get_completion", you know, three times or four times to extract these different views one at a time. But it turns out you can actually write a single prompt to extract all of this information at the same time. So let's say "identify the following items, extract sentiment, is the reviewer expressing anger, item purchased, company that made it". And then here I'm also going to tell it to format the anger value as a boolean value, and let me run that. And this outputs a JSON where sentiment is positive, anger, and then no quotes around false because it asked it to just output it as a boolean value. Extracted the item as "lamp with additional storage" instead of lamp, seems okay. But this way you can extract multiple fields out of a piece of text with just a single prompt. And, as usual, please feel free to pause the video and play with different variations on this yourself. Or maybe even try typing in a totally different review to see if you can still extract these things accurately. Now, one of the cool applications I've seen of large language models is inferring topics. Given a long piece of text, you know, what is this piece of text about? What are the topics? Here's a fictitious newspaper article about how government workers feel about the agency they work for. So, the recent survey conducted by government, you know, and so on. "Results revealed that NASA was a popular department with a high satisfaction rating." I am a fan of NASA, I love the work they do, but this is a fictitious article. And so, given an article like this, we can ask it, with this prompt, to determine five topics that are being discussed in the following text. Let's make each item one or two words long, for my response, in a comma-separated list. And so, if we run that, you know, we get this article. It's about a government survey, it's about job satisfaction, it's about NASA, and so on. So, overall, I think, pretty nice extraction of a list of topics. And, of course, you can also, you know, split it so you get a Python list with the five topics that this article was about. And if you have a collection of articles and extract topics, you can then also use a large language model to help you index into different topics. So, let me use a slightly different topic list.
이 모든 정보를 추출하는 한 가지 방법은 3~4개의 프롬프트를 사용하고 'get_completion'을 3~4번 호출하여 이러한 다양한 보기를 한 번에 하나씩 추출하는 것입니다. 하지만 실제로 이 모든 정보를 동시에 추출하기 위해 단일 프롬프트를 작성할 수 있음이 밝혀졌습니다. 따라서 "다음 항목 식별, 감정 추출, 분노를 표현한 리뷰어, 구매한 항목, 만든 회사"라고 가정해 보겠습니다. 그런 다음 분노 값의 형식을 부울 값으로 지정하고 실행하도록 하겠습니다. 그러면 감정이 긍정적이고 분노하며 부울 값으로 출력하도록 요청했기 때문에 거짓 주위에 따옴표가 없는 JSON이 출력됩니다. 항목을 램프 대신 '추가 저장 공간이 있는 램프'로 추출했는데 괜찮은 것 같습니다. 하지만 이렇게 하면 단 한 번의 프롬프트로 텍스트에서 여러 필드를 추출할 수 있습니다. 평소와 같이 자유롭게 동영상을 일시중지하고 직접 다양한 변형으로 재생해 보세요. 또는 완전히 다른 리뷰를 입력하여 이러한 항목을 정확하게 추출할 수 있는지 확인할 수도 있습니다. 이제 내가 본 대규모 언어 모델의 멋진 애플리케이션 중 하나는 주제를 추론하는 것입니다. 긴 텍스트가 주어지면 이 텍스트는 무엇에 관한 것입니까? 주제는 무엇입니까? 다음은 공무원이 자신이 일하는 기관에 대해 어떻게 느끼는지에 대한 가상의 신문 기사입니다. 그래서 최근 정부에서 실시한 설문조사 등이 있습니다. "결과에 따르면 NASA는 만족도가 높은 인기 학과였습니다." 저는 NASA의 팬이고 그들이 하는 일을 사랑하지만 이것은 가상의 기사입니다. 따라서 이와 같은 기사가 주어지면 다음 텍스트에서 논의되고 있는 다섯 가지 주제를 결정하도록 이 프롬프트를 통해 요청할 수 있습니다. 각 항목을 쉼표로 구분된 목록으로 한 두 단어 길이로 만들어 보겠습니다. 따라서 이를 실행하면 이 기사가 표시됩니다. 정부 조사, 직업 만족도, NASA 등에 관한 것입니다. 전반적으로 주제 목록을 꽤 잘 추출했다고 생각합니다. 물론 이 문서에서 다루었던 5가지 주제가 포함된 Python 목록을 얻을 수 있도록 분할할 수도 있습니다. 또한 기사 모음이 있고 주제를 추출한 경우 대규모 언어 모델을 사용하여 다른 주제로 색인을 생성할 수도 있습니다. 그래서 조금 다른 주제 목록을 사용하겠습니다.
Let's say that we're a news website or something, and, you know, these are the topics we track. "NASA, local government, engineering, employee satisfaction, federal government". And let's say you want to figure out, given a news article, which of these topics are covered in that news article. So, here's a prompt that I can use. I'm going to say, determine whether each item in the final list of topics is a topic in the text below. Give your answer as a list of 0 or 1 for each topic. And so, great. So, this is the same story text as before. So, this thing is a story. It is about NASA. It's not about local government. It's not about engineering. It is about employee satisfaction, and it is about federal government. So, with this, in machine learning, this is sometimes called a "Zero-Shot Learning Algorithm", because we didn't give it any training data that was labeled, so that's Zero-Shot. And with just a prompt, it was able to determine which of these topics are covered in that news article. And so, if you want to generate a news alert, say, so that process news, and I really like a lot of work that NASA does. So, if you want to build a system that can take this, put this information into a dictionary, and whenever NASA news pops up, print "ALERT: New NASA story!", they can use this to very quickly take any article, figure out what topics it is about, and if the topic includes NASA, have it print out "ALERT: New NASA story!". Oh, just one thing. I use this topic dictionary down here. This prompt that I use up here isn't very robust. If I wanted a production system, I would probably have it output the answer in JSON format, rather than as a list, because the output of the large language model can be a little bit inconsistent. So, this is actually a pretty brittle piece of code. But if you want, when you're done watching this video, feel free to see if you can figure out how to modify this prompt, to have it output JSON instead of a list like this, and then have a more robust way to tell if a particular article is a story about NASA.
우리가 뉴스 웹사이트라고 가정해 보겠습니다. 이러한 주제가 우리가 추적하는 주제입니다. "NASA, 지방 정부, 엔지니어링, 직원 만족도, 연방 정부". 뉴스 기사가 주어졌을 때 해당 뉴스 기사에서 이러한 주제 중 어떤 주제를 다루고 있는지 파악하고 싶다고 가정해 보겠습니다. 여기 제가 사용할 수 있는 프롬프트가 있습니다. 최종 주제 목록의 각 항목이 아래 텍스트의 주제인지 확인하세요. 각 주제에 대해 0 또는 1의 목록으로 답을 제공하십시오. 그래서 좋습니다. 따라서 이것은 이전과 동일한 스토리 텍스트입니다. 그래서 이것은 이야기입니다. NASA에 관한 것입니다. 지방 정부에 관한 것이 아닙니다. 엔지니어링에 관한 것이 아닙니다. 직원 만족도와 연방 정부에 관한 것입니다. 따라서 머신 러닝에서는 라벨이 지정된 학습 데이터를 제공하지 않았기 때문에 이를 '제로샷 학습 알고리즘'이라고도 합니다. 이것이 바로 제로샷입니다. 그리고 프롬프트만으로 해당 뉴스 기사에서 다루는 주제를 결정할 수 있었습니다. 따라서 뉴스 알림을 생성하려는 경우 예를 들어 뉴스를 처리하면 NASA가 수행하는 많은 작업이 정말 마음에 듭니다. 따라서 이를 처리할 수 있는 시스템을 구축하려면 이 정보를 사전에 입력하고 NASA 뉴스가 표시될 때마다 "ALERT: New NASA story!"를 인쇄하면 이를 사용하여 모든 기사를 매우 빠르게 가져올 수 있습니다. 주제가 무엇인지 알려주고 주제에 NASA가 포함된 경우 'ALERT: New NASA story!'를 인쇄하도록 합니다. 아, 한 가지. 저는 여기 이 주제 사전을 사용합니다. 여기서 사용하는 이 프롬프트는 그다지 강력하지 않습니다. 프로덕션 시스템을 원했다면 목록이 아닌 JSON 형식으로 답을 출력하게 했을 것입니다. 대규모 언어 모델의 출력이 약간 일관성이 없을 수 있기 때문입니다. 따라서 이것은 실제로는 매우 취약한 코드입니다. 하지만 원하는 경우 이 동영상 시청을 마친 후 목록 대신 JSON을 출력하도록 이 프롬프트를 수정하는 방법을 알아보세요. 그런 다음 특정 기사가 NASA에 관한 이야기인지 여부를 더 확실하게 알 수 있습니다.
So, that's it for inferring. And in just a few minutes, you can build multiple systems for making inferences about text that previously just would have taken days or even weeks for a skilled machine learning developer. And so, I find this very exciting that both for skilled machine learning developers, as well as for people that are newer to machine learning, you can now use prompting to very quickly build and start making inferences on pretty complicated natural language processing tasks like these. In the next video, we'll continue to talk about exciting things you could do with large language models, and we'll go on to "Transforming". How can you take one piece of text and transform it into a different piece of text, such as translate it to a different language. Let's go on to the next video.
그래서 추론하는 것이 전부입니다. 그리고 이전에는 숙련된 기계 학습 개발자가 몇 일 또는 몇 주가 걸렸을 텍스트에 대한 추론을 위한 여러 시스템을 단 몇 분 만에 구축할 수 있습니다. 따라서 숙련된 기계 학습 개발자와 기계 학습을 처음 접하는 사람들 모두에게 프롬프트를 사용하여 이와 같이 매우 복잡한 자연어 처리 작업에 대한 추론을 매우 빠르게 구축하고 시작할 수 있다는 사실이 매우 흥미진진합니다. . 다음 동영상에서는 대규모 언어 모델로 수행할 수 있는 흥미로운 작업에 대해 계속해서 이야기하고 '변환'으로 넘어가겠습니다. 한 텍스트를 다른 언어로 번역하는 등의 다른 텍스트로 변환하려면 어떻게 해야 할까요? 다음 동영상으로 넘어가겠습니다.