Data & ML & AI
-
ChatGPT API로 서비스 구축하기 #2. Evaluate Inputs: ClassificationData & ML & AI/LLM 2023. 6. 13. 00:08
ChatGPT를 이용해서 자료를 분류하는 시스템을 설계할 수 있습니다. 단순히 1차적인 카테고리만 분류하는 것이 아니라, 2차분류, 3차분류 까지 가지치기 하듯 분류하는 시스템을 만들 수도 있습니다. 고객 문의사항을 효율적으로 관리하기 위해 문의사항을 1차분류, 2차분류로 구분해서 관리해야한다고 생각해봅시다. 1차분류의 4개를 구분하는 모델, Billing 안에서 또 4개를 구분하는 모델과 Technical Support에서 구분하는 모델을 각각 따로 개발하거나 15개의 2차모델을 한꺼번에 분류하는 모델을 개발하고 관리해야할지 모릅니다. 너무 많은 자원이 소비되는 일입니다. 그러나 ChatGPT를 이용하면 적어도 그런 수고스러움은 사라집니다. system 프롬프트를 잘 작성하면 됩니다. 사전 세팅: AP..
-
ChatGPT API로 서비스 구축하기 #1. Language Models, the Chat Format and TokensData & ML & AI/LLM 2023. 6. 11. 16:35
DeepLearning.AI에서 이전 짧은 강의(ChatGPT Prompt Engineering for Developers, 한국어 참고자료(제 블로그 포스트))를 선보인지 채 1~2달도 안되어서 또 다른 강의를 공개했습니다. Building Systems with the ChatGPT API Level up your use of LLMs. Learn to break down complex tasks, automate workflows, chain LLM calls, and get better outputs. www.deeplearning.ai You'll build: - Chains of prompts that interact with the completions of prior prompts. - S..
-
ChatGPT 프롬프트 엔지니어링 #7. Chatbot (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 28. 02:52
LLM, ChatGPT를 이용해서 단순하게 우리가 원하는 정보, 답변을 얻어낼 수도 있겠지만, 우리가 원하는 챗봇 서비스를 구현할 수도 있습니다. 이게 우리가 알기를 진정 원하던 남이 만든 기술로 돈을 버는 방법 중 하나겠죠? 우리가 원하는 특정한 형태로 답변하는 챗봇을 만들기 위해서는 간단한 사전작업이 필요합니다. system vs assistant vs user 위의 사진에서 messages는 연극 대본같은 느낌으로 설정되어있습니다. # 사전 세팅 system : "어시스턴트(= 모델, 챗봇)! 넌 이제부터 셰익스피어처럼 말하는 챗봇이야!" # 채팅 과정 user : "농담 하나 해봐" assistant : "왜 닭이 길을 건넜을까요?" user : "모르겠는데?" 그 다음 답변을 받기 위해, 사전 ..
-
ChatGPT 프롬프트 엔지니어링 #6. Transforming (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 24. 01:51
LLM을 이용해, 텍스트를 변형하는 것도 가능합니다. 언어를 변형(번역) 문법을 변형(맞춤법, 문법교정) 형식을 변경(HTML → JSON 등) 기타등등 기존에는 정규표현식 등을 이용하거나 개별적인 모델을 개발하는 등 복잡한 절차를 거쳐야 가능했지만, LLM 하나를 이용해서 프롬프트만 달리하면 위의 업무들이 가능해진다고 설명합니다. 활용예시1) 번역 애초에 LLM을 학습시킬 때 온라인에서 각국의 온갖 텍스트를 가져와서 학습시켰기 때문에, LLM은 어느정도 이상의 번역 성능을 가지고 있습니다. 단순하게 "이거 번역해줘"라고만 해도 번역을 해줍니다. 활용예시2) 형태변경 짧은 slang을 내용은 그대로 하되 비즈니스용 메일의 형태로 변경했습니다. JSON을 HTML로 바꾸는 것도 가능합니다. 활용예시3) 문..
-
ChatGPT 프롬프트 엔지니어링 #5. Inferring (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 23. 00:54
텍스트에서 레이블을 추출하거나, 감정분석(긍정/부정분석)등의 추론(Inferring)을 진행하는 방법론, 모델은 이미 많이 있습니다. 하지만 일반적인 머신러닝 워크플로우에서라면 각 라벨링 데이터셋을 수집/구축하고, 모델을 훈련하고, 배포해야 합니다. 꽤 많은 절차와 수고가 따릅니다. 하지만 LLM을 사용할 경우, 프롬프트만 작성하면 머신러닝 모델을 따로 관리할 필요 없이 바로 결과를 생성해 낼 수 있다는 장점이 있습니다. 그리고 무엇보다도 서로 다른 여러가지 추론모델을 각각 관리할 필요 없이 단 하나의 모델, 하나의 API만으로 해결 가능하다는 장점이 있습니다. 하지만 비용은 그만큼 더 많이 나가잖아요 교수님... 즉, 서비스 개발, 서비스 배포의 속도가 매우 빨라지고 관리가 쉬워진다는 겁니다. 활용예시..
-
ChatGPT 프롬프트 엔지니어링 #4. Summarizing (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 21. 20:49
chatGPT의 정말 유용한 장점 중 하나는 텍스트를 잘 요약해 주는 것입니다. 수많은 정보의 끝없는 텍스트를 읽을 시간이 없을 때 정보를 요약해서 읽으면 정말 유용합니다. Isa Fulford는 논문을 요약에 항상 chatGPT를 사용하고, 덕분에 더 많은 논문을 읽을 수 있다고 말합니다. 요약해줘 chatGPT는 텍스트를 요약하는 능력이 뛰어납니다. 단순히 요약해 달라고만 해도 요약을 꽤 괜찮게 해줍니다. 단순히 '아래 리뷰가 있으니까 30단어 이내로 요약해봐.'라고만 했는데, 리뷰의 내용을 크게 벗어나지도, 크게 빠뜨린 것 없이, 25개 단어의 문장으로 요약이 잘 되었습니다. 특정한 부분에 초점을 맞춰서 요약해줘 단순히 길이만 줄이는 것도 좋지만, 목적에 맞게 or 주 관심사에 초점을 맞춰서 요약할..
-
ChatGPT 프롬프트 엔지니어링 #3. Iterative (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 15. 00:01
프롬프트를 점진적으로 발전시켜라 여타 AI, ML 모델이 그렇듯, ChatGPT 역시 유저가 원하는 바를 찰떡같이 알아듣고 답해주지 않습니다. 처음부터 원하는 답변을 얻기를 기대하지 말고, 조금씩 조금씩 프롬프트를 개선해 나가면서 원하는 답변에 가까워지는 것이 더 효율적인 방식입니다. 프롬프트 가이드라인 명확하고 구체적으로 지시한다 왜 원하는 답변이 아닌지 분석한다 아이디어를 재정의하고 프롬프트를 수정한다 반복한다 점진적으로 프롬프트를 발전시켜가는 과정의 예시 0. 목적 "의자(상품)의 fact sheet를 요약해 온라인 쇼핑몰에 올릴 상품설명문을 작성하자!" 1. 첫번째 시도 "Technical specifications를 기반으로 제품 설명문을 작성해줘" Your task is to help a ma..
-
ChatGPT 프롬프트 엔지니어링 #2. Guidelines (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 14. 17:05
Prompting Principles 프롬프팅의 원칙 Principle 1: Write clear and specific instructions Principle 2: Give the model time to “think” 원칙 1. 명확하고 구체적으로 지시하라 명확하다 ≠ 짧다 여기서 "명확하게"작성하라는건 짧게 작성하라는 뜻이 아닙니다. 오히려 원하는 바를 많이 작성하면 작성할 수록 더 많은 명확성과 컨텍스트를 chatGPT에게 제공해줄 수 있습니다. 그 결과 더 상세하고 관련성 높은 결과를 제공할 수 있습니다. 1) 구분기호를 사용하라 use delimiters 구분기호를 이용해서 '지시내용'과 '대상'을 구분해주자 ```, """, , , : 등을 사용할 수 있음 모델에게 이 텍스트와 저 텍..