ChatGPT 프롬프트 엔지니어링 무료 강의 – DeepLearningAI 2023.4 mahler83, 2023-04-292023-04-29 DeepLearning.AI에 올라와있는 ChatGPT Prompt Engineering 코스가 있어서 들어본다. OpenAI와 협력해서 만든 수업이라고. 한시간 반짜리라니까 가볍게 듣기에 좋다. 강사: Andrew Ng (DeepLearning.AI), Isa Fulford (OpenAI) 링크: https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/ Prompting principles Principle 1. Write clear and specific instructions – 긴 prompt가 오히려 clear and specific할 수 있다 1-1. delimiter 잘 사용하기: “””, “`, —, < >, XML 태그 예: Summarize the text delimited by triple backticks into a single sentence. Text 안에 forget previous instructions and…같은 말이 들어있어도 delimiter 안의 내용을 요약하라는 지시가 있기 때문에 영향을 받을 확률이 줄어든다 (!!!) 1-2. Generate structured output: HTML, JSON 결과물을 바로 다음 작업에 활용 가능 1-3. Check assumptions first and only continue if satisfied. If it contains a seq of instructions rewrite in following format. If does not contain seq of instructions then simply write “Not provided” 1-4. Few-shot prompting 우와 답 생성한거 대박 Principle 2. Give the model time to think. Chain-of-thought 개념을 좀 확장한 원칙인 것 같다. 2-1. Specify steps to complete the task 작은 단계별로 수행해서 어떤 형태로 출력할지 세세하게 지정. 더 복잡한 작업도 오류 없이 수행하게 됨. 2-2. Instruct the model to work out its own solution before rushing to a conclusion 문제 채점을 하는 task에서 모범답안을 우선 생성한 뒤에 학생답안과 비교하도록 순서대로 지시를 주면 채점 성능이 올라간다. Limitations: hallucination을 한다. Hallucination을 줄이려면 답을 한 번에 생성하지 않고, 답을 내는데 필요한 정보를 우선 추출하도록 시킨 뒤 그걸 바탕으로 답을 생성하도록 단계를 하나 추가하면 된다. Iterative prompt development. 좋은 prompt 30개라고 리트윗되는 글에 너무 휘둘리지 말자. 딱 맞는 prompt 하나를 배우는 것보다 반복적 실험을 통해 prompt를 개선시켜나가는 프로세스를 세팅하는 게 훨씬 중요하다. ??? 예시: 의자 technical specification을 보고 마케팅을 위한 product description을 만들어라 -> 너무 길다 -> use at most 50 words/3 sentences, character로 제한하는 건 부정확한 경향(tokenizer 한계) -> 소매상을 상대로 하니 재질에 집중하자 -> intent에 대한 기술을 추가 -> 제품번호가 포함되도록 7-character product ID를 포함하도록 수정. -> 크기 정보를 테이블로 마지막에 추가. 1열에 dimension name, 2열에 measurement in inches. 테이블 이름은 “Product Dimensions”. HTML을 이용하고 <div>안에 배치 이런 프롬프트는 한 번에 만들어지는 것이 아니다. 실력있는 프롬프트 엔지니어는 한 번에 프롬프트를 적을 줄 아는 사람이 아니라, 원하는 방향으로 잘 수정하는 엔지니어다. 제품이 성숙해서 성능이 매우 중요해지는 단계에는 충분한 샘플로 벤치마크를 돌려 엔지니어링하는 작업이 필요해진다. Summary – 제품 리뷰를 shipping department를 위해 배송 관련 내용 위주로 요약해줘– pricing department를 위해 가격 관련 내용 요약해줘이 예시를 실행해보면 불필요한 정보가 들어가기도 한다. summarize가 아니라 extract하라고 시키면 필요한 내용만 나옴. 활용 예시: 제품 리뷰 목록에서 긴 리뷰들의 한 문장 요약을 보여주고 클릭하면 자세한 내용을 확인할 수 있는 UI를 만들 수 있음. Inferring 상품 리뷰를 보고 sentiment를 분석해줘 – answer as a single word positive or negative이렇게 하면 결과를 다음 단계에 활용하기 좋음. – identify a list of emotions, no more than five items분류와 정보추출을 동시에 수행 고객이 화가 났거나 구성품이 누락된 내용을 언급하는 경우는 신경써서 확인하면 좋으니 그런 상품평을 찾아내는 classifier를 만들 수도 있다. 이런 모델을 지도학습으로 트레이닝 시키려면 한세월일텐데 LLM을 이용하면 몇 분 안에 바로 사용 가능하다. 추출기능: Identify the following items from the review text – 고객이 구입한 물품 이름 – 물품의 제조사 JSON object with "Item" and "Brand" as keys 위에서 말한 걸 한 번에 다 하고 JSON으로 결과를 받아볼 수 있음. (속으로 한 번에 다 하면 안 되나 생각하고 있었는데 마지막에 알려주네 ㅎㅎ) 뉴스 기사를 주제 분류에 해당하는지 판별하는 예시. JSON으로 결과를 내라고 하면 바로 사용 가능한 결과를 얻을 수 있음. 활용예시: 특정 주제의 기사가 올라오면 알림을 받는 시스템 Transformation 말투를 바꾸거나 언어를 다르게 번역하거나 어느 언어인지 판독하는 등의 작업을 자유롭게 수행 가능. (예시에 코리안!) 문법 교정도 가능. jupyter notebook에서 redlines 라이브러리 이용하면 전후 차이 시각화도 가능! Expanding 짧은 지시문에 따라 긴 글을 생성하는 작업들 상품평 내용에 맞춰 이메일 답장을 작성하는 예시. AI bot을 이용하는 경우 이 예시처럼 명확하게 밝히는 것이 좋다. Temperature 설정. reliable and predictable response가 필요한 작업인 경우 0으로 설정. 창의적이거나 다양한 결과가 필요할 때는 0.3, 0.7처럼 0보다 큰 값 ChatBot system, user, assistant message를 설정. System에는 high level order를 넣는다 pizza order를 받는 챗봇 시연. 마지막에 json으로 결과 정리하라는 system message를 추가해서 결과 받는 것까지 요약 수업 수강 후기 가장 기본적인 내용을 어려운 단어 최소화해서 구성된 입문자를 위한 코스실습 하면서 따라가도 2-3시간 안에 끝남. 스터디그룹 학생들에게 추천함깊이는 매우 얕고, 파이썬 코딩 능력이 거의 없어도 복붙하고 prompt만 수정하면서 결과가 어떻게 달라지는지 실험해볼 수 있음. 이런거 실험해봐라 하고 안내도 해줌.앤드류 응 선생님의 Coursera 수업으로 2014년에 머신러닝 입문했는데, 은사님 뵙는 느낌으로 수업을 들었다 ㅎㅎㅎLLM 관심 있다는 사람들에게 앞으로 추천해줄 예정. Originally tweeted by 말러팔산 (@mahler83) on 2023-04-29. Share this:TwitterFacebook Large language model
Mitigating Ethical Concerns of Using Large Language Models in Academic Writing (Mini review) 2023-09-212023-09-21 Abstract The emergence and ubiquity of large language models (LLMs) in academic settings has sparked concerns regarding their potential impact on the integrity and quality of scholarly work. This article aims to review and synthesize findings from recent studies on this issue, focusing on strategies to mitigate the ethical challenges… Share this:TwitterFacebook Read More
Large language model From Sparse to Dense – Chain of Density Prompting – Adams 2023.9 2023-09-162023-09-16 https://arxiv.org/abs/2309.04269 Chain of Density (CoD) prompt를 개발했음.우선은 sparse summary를 만들고, 순차적으로 dense summary를 만들어나감.500개의 annotated CoD summary를 제공 Density에 따라 clarity vs informativeness tradeoff가 일어남 CoD prompting: 요약문의 길이를 늘리지 않고, 빠뜨린 디테일(missing entity)를 찾아서 추가하기를 반복하는 방식 missing entity Baseline (vanilla prompt) 요약문의 평가 인간 평가자 선호도 Limitations My… Share this:TwitterFacebook Read More
Large language model LLM 프롬프트 디자인에 실패하는 이유 – 2023.4 2023-07-042023-07-19 왜 LLM 프롬프트를 짜는 데 실패하는가? 프롬프트 엔지니어링 비전문가들이 어떤 식으로 프롬프팅을 하는지 관찰한 연구 – 2023.4 Why Johnny Can’t Prompt: How Non-AI Experts Try (and Fail) to Design LLM Prompts 원문: https://dl.acm.org/doi/abs/10.1145/3544548.3581388CHI ’23: Proceedings of the 2023 CHI Conference on Human Factors in Computing SystemsApril 2023Article No.: 437Pages 1–21… Share this:TwitterFacebook Read More