Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- BFS
- piplining
- 셀러리
- 숫자 블록
- 프로그래머스
- 카카오
- jwt 표준
- gRPC
- 결제서비스
- 레디스 동시성
- 객체지향패러다임
- AWS
- 검색어 추천
- 완전탐색
- 좋은 코드 나쁜 코드
- JPA
- spring event
- branch 전략
- 깊게 생각해보기
- prg 패턴
- 이분탐색
- 주식
- docker
- 백준
- 쿠키
- 알람 시스템
- 구현
- 누적합
- 디버깅
- 트랜잭샨
Archives
- Today
- Total
코딩관계론
증권 뉴스 분석 자동화 사례: TOT 방식 적용과 정확도 향상 과정 본문
반응형
배경 문제
토스 증권 뉴스 페이지에서는 주가 상승 이유를 설명하는 다양한 뉴스를 제공하지만, 정보의 정확성과 관련성 부족으로 인해 투자자가 신뢰할 수 없는 경우가 많습니다.
특히, 뉴스 내용이 주식과 직접적인 연관이 없거나 모호한 이유로 주가 상승을 설명하는 경우가 많아 투자자들은 추가적으로 네이버 등 외부 소스에서 정보를 확인해야 하는 불편함을 겪고 있습니다.
이 과정에서 과거 뉴스까지 검색해야 할 경우 시간이 과도하게 소요되는 문제도 발생합니다.
초기 접근 방식
초기에는 OpenAI가 권장하는 프롬프트 엔지니어링 방식을 통해 GPT 모델을 활용하려 했습니다.
다만, 뉴스 데이터는 맥락이 복잡하고 비슷한 내용이 많아 단순 프롬프트로는 원하는 성능을 충분히 얻을 수 없었습니다.
- 참고자료에서 제공된 사례와 권장 사항을 따랐음에도 불구하고, 복잡한 맥락 이해 부족으로 인해 낮은 정확도 결과가 도출되었습니다.
프롬프트 방식 개선: TOT(Tree of Thoughts) 도입
COT vs. TOT 비교
- COT(Chain of Thought)
- 단계별로 추론 과정을 진행하며 논리를 전개하는 방식.
- 단순한 문제에는 효과적이지만, 복잡한 맥락 이해와 다단계 분석에는 한계가 있음.
- TOT(Tree of Thoughts)
- 여러 가능한 추론 경로를 생성하고, 각 경로에서 최적의 답을 도출하는 방식.
- 다양한 가능성을 동시에 고려하여 복잡한 문제에 높은 정확도를 제공.
TOT 방식을 도입한 결과, GPT-4o 기준으로 95%의 정확도를 달성할 수 있었습니다.
+ "Imagine a panel of three experts collaboratively addressing this question.\n"
+ "Each expert will contribute one step of their thought process,\n"
+ "iteratively refining the analysis through group discussion.\n"
+ "If an error is identified in any reasoning, it will be corrected or excluded from the discussion.\n"
+ "The question is as follows:\n\n"
+ "<question>"
+ "1. Based on the content provided in the article, summarize why the stock specified within the <stock> tags has risen.\n"
+ "2. Determine if the article is related to the stock.\n"
+ "3. Classify the theme names and related stocks associated with the stock's rise based on the article.\n"
+ "4. Determine whether the cause of the stock price increase applies only to the specific company mentioned in the article.\n"
+ "5. Pinpoint the next event mentioned in the article and explain its significance.\n"
+ "6. Extract Stock Rise Keywords.\n"
+ "</question>\n\n"
최적화 과정
1. 경량화 모델(GPT-4o-mini) 도입 및 정확도 문제
- 초기에는 GPT-4o 모델을 사용하여 95%의 높은 정확도를 달성했으나, 비용 절감을 위해 더 경량화된 모델인 GPT-4o-mini로 전환했습니다.
- 그러나 초기 테스트에서 정확도가 약 70% 수준으로 떨어졌습니다.
- 이를 해결하기 위해 Few-shot Learning 방식을 도입하여 프롬프트에 예시를 추가했으나, 기대했던 성능 향상은 이루어지지 않았습니다.
미세조정(Fine-tuning)을 통한 성능 향상
- Few-shot 방식이 효과가 없자, 모델을 미세조정(Fine-tuning) 하는 방식으로 접근했습니다.
- 이를 통해 뉴스 데이터를 기반으로 모델이 더 나은 맥락 이해와 테마 추출을 할 수 있도록 학습시켰고, 최종적으로 90% 정확도를 확보할 수 있었습니다.
2. 디버깅 프롬프트 추가로 정확도 향상
- 프롬프트에 디버깅 질문을 추가하여 성능을 개선했습니다.
- "해당 답변이 어떤 과정을 통해서 나타나게 됐는지 알려주고, 답변 중에 오류가 있다면 3번 단계로 넘어가줘."
- 디버깅 프롬프트는 모델이 단계별 추론 과정을 명확하게 설명하도록 유도하여, 오류가 발생할 경우 스스로 문제를 인식하고 다음 단계로 넘어갈 수 있게 했습니다.
디버깅 질문 예시
- "반드시 왜 그런지 알려주세요."와 같은 문구를 추가했을 때,
모델이 추론 과정과 오류를 보다 명확하게 설명하게 되어, 추론 오류를 줄이고 정확도 향상에 기여했습니다. - 이 방식으로 GPT-4o-mini 모델 기준으로 90% 정확도를 확보할 수 있었습니다.
아래는 화면은 최종 결과화면입니다.
[참고자료]
OPEN AI - https://platform.openai.com/docs/guides/prompt-engineering
TOT prompt 형식 - https://www.godofprompt.ai/blog/how-tree-of-thoughts-prompting-works-explained
반응형
'개발 > Hot-Stock' 카테고리의 다른 글
주식 트렌드 추적하기 (feat-검색량 추정) (0) | 2024.12.20 |
---|---|
트리맵의 최적화 (1) | 2024.12.19 |
AWS - cpu utilization over 80%(search service가 자꾸 죽어요...!) (1) | 2024.12.18 |
중복 뉴스 필터링을 위한 최적화 방안 (3) | 2024.12.09 |
Virtual Thread를 사용한 크롤링 성능 80% 향상 (1) | 2024.09.16 |