Boosted Prompt Ensembles for LLMs 2023.4 mahler83, 2023-04-172023-04-17 “Boosted Prompt Ensemble”이라는 개념을 제안하는 논문. (2023 4/12)저자: Silviu Pitis, Michael R. Zhang, Andrew Wang, Jimmy Ba https://arxiv.org/abs/2304.05970 Introduction Few-shot prompting -> Chain-of-thought -> Self-consistency 이렇게 발전해왔음. (오 다 읽어봤어!)문제는 few-shot sample을 만드는 것이 힘들고 복잡하고 긴 것이 좋다 vs 짧은 것이 좋다 의견이 갈림 Contributions 1. Iterative하게 few-shot prompt의 boosted ensemble 만들기2. AQUA, GSM8K에서 기존의 single prompt output space ensemble, bagged ensemble보다 높은 성능3. Detailed empirical study Prior work Chain of thought, self-consistencyautomatic prompt generation(gradient based, sampling, prompt-based) -> model generated CoT를 이용Relevance, coherence가 중요. 복잡한 예시가 효과 좋음 -> disagreement among ensemble members를 informativeness척도로 이용 Algorithm agreement가 낮은 어려운 문제들에 대한 prompt를 자동으로 추리는 알고리즘 Train-time boosting Curriculum learning에서 힌트를 얻어, 현재 prompt로 답변을 생성했을 때 잘 틀리는 문제를 찾고, 그 답을 맞춘 가장 복잡한 추론과정을 선택. “문제+추론과정” 쌍을 만들어 prompt에 넣음. 다시 그 prompt로 반복해 n개의 쌍이 있는 prompt를 완성 Inference: n개의 prompt로 m개씩 답변을 생성해 nm개의 예측을 가지고 majority voting. n개의 prompt는 target problem space를 커버하고, 벗어난 영역에서 틀릴 것이라는 직관. 한정된 compute로 n, m을 어떻게 배분하는 것이 좋은지 실험함 Test-time boosting 위의 train-time boosting과 달리 labeling된 답이 없는 test-time boosting도 가능. sufficient agreement(hyperparameter $Delta$)가 있는 경우를 correct answer 취급하고 나머지는 다 똑같이 하면 됨. Train-time boosting에 비해 덜 어려운 샘플을 이용하는 것이 필연적으로 성능이 떨어질 것으로 예상됨. 하지만 train과 test에서 distribution shift가 있는 경우 적응시키는 방식으로 활용 가능. 일종의 prompt space exploration을 수행 사용 모델은 code-davinci-002 인데, OpenAI에서 지원 중단한다고 했다가 번복하고 연구목적으로는 계속 제공하겠다고 한 그 시기 즈음에 논문을 쓴 듯 Dataset AQUA(Algebra QA with Rationales)GSM8K(대학수학문제)MMLU570(Massive Multitask Language Understanding)CMATH420(Competition Math 중에서 Level1 Prealgebra이용)SVAMP(Simple variations on Arithmetic Math word Problems) 이건 label이 없음 Aqua? Baseline models 상황에 맞춰 다음 전략들을 사용함 Self-consistency: single prompt and create ensemble in output spaceSC with auto CoT: bootstrap zero-shot CoT into few-shot promptSC with complexity prompting: choose FS to use max number reasoning stepsSC with bagged prompts: choose FS at random Results 1. BP가 single prompt, bagged ensemble보다 낫나? Yes. AQUA에서 Boosted prompt가 63.5%, single prompt가 57% 2. Annotation의 양에 따라 BP의 성능이 어떻게 달라지나? 적은 annotation으로도 baseline에 비해 성능이 좋았다. train-time version이 test-time version에 비해 성능이 좋았기 때문에 annotation에서 정보를 얻는 것으로 보인다. CMATH420은 예외로 training이 71개밖에 안 되어 그런 듯 3. Initial prompt에 얼마나 민감한가? Original – few shot – zero shot – nonsense annotation 순서로 성능이 떨어지는 것을 보면 영향을 받는 것 같다. original prompt가 ensemble member에 포함되어 필연적 결과인 듯 4. Ensemble member / samples per member의 영향? (n/m tradeoff) 영향이 매우 적음. 어떻게 잡아도 baseline보다 나은 결과 5. Test-time boosting에서 sufficient agreement 초매개변수 값이 미치는 영향? 너무 낮으면 의미가 크지만 맞다고 생각하는 답이 틀렸을 가능성이 있음. 0.7(open end)~0.8(multiple choice)정도가 적당해보임 Average accuracy가 일정 수준 이하로 떨어질수록 performance도 영향을 받는 경향 6. Ensemble member에 weight값을 줘서 성능 개선 가능? 클래시컬한 부스팅은 웨이트값을 주는 걸 좇아서 Adaboost formula로 가중치를 줘봤는데 별 차이가 없음 7. 제일 복잡한 CoT를 선택하는 것이 도움이 되나? n와 .의 개수가 가장 많은 답을 고르는 방식을 써보니 약간의 개선이 있어보임. 하지만 랜덤으로 해도 baseline보다 높음 8. 사용하는 모델에 따른 효과? text-curie-001처럼 너무 작은 모델은 기본적인 정확도가 너무 떨어지니 의미가 없음. text-davinci-003, gpt-3.5-turbo 모두 효과가 있음 Visualization of problem space and prompts 시작 prompt는 검정색 -> 빨강, 주황, 노랑, 흰색 순서로 boosted prompt를 만들어냄. 더 넓은 problem space를 탐색하는 것이 보임 (와 대박…. 진짜 멋진 시각화!) Conclusion boosting의 개념을 LLM에 가져와서 few shot boosted prompt ensemble algorithm을 처음으로 제시했다.baseline에 해당하는 prompt들에 비해 성능이 좋은 것을 확인했다. 특히 initial prompt가 suboptimal할 때 효과가 더 큼.train-time algorithm, test-time algorithm 제안test-time boosting이 self-guided curriculum을 이용해 prompt space exploration을 통해 test-time adaptation하고 있다는 가능성을 보였으나 추가 연구 필요test-time boosting은 prompt accuracy와 연관성이 있음verifier를 이용하는 등의 추가 노력이 필요할 듯 My thoughts CoT, SC, APE 등의 개념에다가 boosting을 얹어서 훌륭한 아이디어로 수행한 실험problem space 자체를 text embeddings로 시각화하는 것이 매우 인상적. 연구 시작시 tabular data를 PCA, t-SNE로 탐색해야 한다고 늘 말하는데, text data도 그래야할 듯Text embedding 시각화 자꾸 생각난다. 어디든 얹으면 스토리에 대한 설득력이 확 올라갈 듯. 가슴이 막 두근거리는데 어디다 쓰지…?D5랑 결합하면 대박이겠는데? 시각화까지 딱 해서 보여주면… 하지만 나는 그런 데이터를 다룰 일이 없네….?train-time과 test-time 비교를 통해 annotation의 정보를 얼마나 반영하는지를 정량적으로 비교하는 논거로 사용한 점도 인상적! Originally tweeted by 말러팔산 (@mahler83) on 2023-04-17. Share this:TwitterFacebook Large language model
Large language model ChatGPT를 활용하는 새로운 방식의 과제 – 2022.12 2023-06-162023-06-16 ChatGPT를 활용하는 형태의 과제 추천 3가지. ChatGPT가 나온 직후에 올라왔던 Ethan Mollick 선생님의 글인데, 생각나서 다시 찾아봄. 지금 읽어봐도 탁월한 통찰력이다. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4300783 Problem of transfer 한 개념을 배워도 다른 맥락에서 이해하거나 적용하기 어려워함 Transfer(learning): 교육의 궁극적 목표로 새로운 문제를 만났을 때 배운 것을 적용할 수 있어야 함 sophisticated understanding +… Share this:TwitterFacebook Read More
Academic writing Claude의 긴 문맥창 활용하는 prompt engineering 2023-09-252023-09-25 Claude는 다른 상용 언어모델들에 긴 context window (100k)를 가지고 있어서 많은 정보를 처리할 때 사용하고 있다. 참고로 Bard는 2k, ChatGPT-4는 8k이니까 압도적으로 길다. 이 긴 문맥창(context window)를 활용해서 문제를 생성하고 푸는 과정을 담은 보고서가 올라와서 재미있게 읽었다. 교과서에서 문제를 출제하고, 논문에서 필요한 정보를 추출하는 작업을 많이 하니까 아주 흥미로운 주제였다…. Share this:TwitterFacebook Read More
Academic writing ChatGPT로 논문 읽고 쓰기 웨비나 질의응답 2023-04-072023-04-07 2023년 4월 6일 오후 8시에 1시간반 정도 구글미트를 이용해 개인적으로 웨비나를 열었다. 얼굴도 모르는 사람의 강의를 60여 명이나 들으러 와서 좀 놀랐다. 역시나 관심이 많구나 싶었음. 당시 질의응답이 오간 내용을 생각 나는대로 적어보았다. Q. 논문 교정 서비스가 망할 것이라고 보는가A. 이미 하향세에 접어들고 있다. 특정 서식에 맞춘 Highlight라든가, 특정 문체라든가… Share this:TwitterFacebook Read More