--- tags: - finance - accounting - stock - quant - economics language: - ko license: apache-2.0 datasets: - aiqwe/krx-llm-competition base_model: - Qwen/Qwen2.5-7B-Instruct pipeline_tag: question-answering library_name: transformers --- # krx-llm-competition Model Card + github: [https://github.com/aiqwe/krx-llm-competition](https://github.com/aiqwe/krx-llm-competition) + dataset: [https://huggingface.co/datasets/aiqwe/krx-llm-competition](https://huggingface.co/datasets/aiqwe/krx-llm-competition) 모델은 [KRX LLM 경진대회 리더보드](https://krxbench.koscom.co.kr/)에서 우수상을 수상한 shibainu24 모델입니다. 모델은 금융, 회계 등 금융관련 지식에 대한 Text Generation을 제공합니다. + Vanilla model : [Qwen2.5-7B-Instruct](https://huggingface.co/Qwen/Qwen2.5-7B-Instruct) 데이터셋 수집 및 학습에 관련된 코드는 [https://github.com/aiqwe/krx-llm-competition](https://github.com/aiqwe/krx-llm-competition)에 자세하게 공개되어 있습니다. # Usage [https://github.com/aiqwe/krx-llm-competition](https://github.com/aiqwe/krx-llm-competition)의 example을 참조하면 쉽게 inference를 해볼 수 있습니다. 대부분의 Inference는 RTX-3090 이상에서 단일 GPU 가능합니다. ```shell pip install vllm ``` ```python import pandas as pd from vllm import LLM inputs = [ "외환시장에서 일본 엔화와 미국 달러의 환율이 두 시장에서 약간의 차이를 보이고 있다. 이때 무위험 이익을 얻기 위한 적절한 거래 전략은 무엇인가?", "신주인수권부사채(BW)에서 채권자가 신주인수권을 행사하지 않을 경우 어떤 일이 발생하는가?", "공매도(Short Selling)에 대한 설명으로 옳지 않은 것은 무엇입니까?" ] llm = LLM(model="aiqwe/krx-llm-competition", tensor_parallel_size=1) sampling_params = SamplingParams(temperature=0.7, max_tokens=128) outputs = llm.generate(inputs, sampling_params) for o in outputs: print(o.prompt) print(o.outputs[0].text) print("*"*100) ``` # Model Card | Contents | Spec | |--------------------------------|-------------------------------------| | Base model | Qwen2.5-7B-Instruct | | Machine | A100 SXM 80GB × 2 | | dtype | bfloat16 | | PEFT | LoRA (r=8, alpha=64) | | Learning Rate | 1e-5 (varies by further training) | | LRScheduler | Cosine (warm-up: 0.05%) | | Optimizer | AdamW | | Distributed / Efficient Tuning | DeepSpeed v3, Flash Attention | | Global Batch Size | 128 | # Datset Card Reference 데이터셋은 일부 저작권 관계로 인해 Link로 제공합니다. MCQA와 QA 데이터셋은 [https://huggingface.co/datasets/aiqwe/krx-llm-competition](https://huggingface.co/datasets/aiqwe/krx-llm-competition)으로 공개합니다. 해당 Huggingface Dataset Repoaitory에서는 학습에는 사용되지 않았지만 추가적인 MCQA, QA 데이터셋을 제공받으실 수 있습니다. 또한 [https://github.com/aiqwe/krx-llm-competition](https://github.com/aiqwe/krx-llm-competition)를 이용하면 다양한 유틸리티 기능을 제공하며, 데이터 소싱 Pipeline을 참조할 수 있습니다. ## References | 데이터명 | url | |-----------------------------------|------------------------------------------------------------------------------------------| | 한국은행 경제금융 용어 700선 | [Link](https://www.bok.or.kr/portal/bbs/B0000249/view.do?nttId=235017&menuNo=200765) | | 재무회계 합성 데이터 | 자체 제작 | | 금융감독용어사전 | [Link](https://terms.naver.com/list.naver?cid=42088&categoryId=42088) | | web-text.synthetic.dataset-50k | [Link](https://huggingface.co/datasets/Cartinoe5930/web_text_synthetic_dataset_50k) | | 지식경제용어사전 | [Link](https://terms.naver.com/list.naver?cid=43668&categoryId=43668) | | 한국거래소 비정기 간행물 | [Link](http://open.krx.co.kr/contents/OPN04/04020000/OPN04020000.jsp#b8943a5f87282cde0d653d1ae73431c9=1) | | 한국거래소규정 | [Link](https://law.krx.co.kr/las/TopFrame.jsp&KRX) | | 초보투자자 증권따라잡기 | [Link](https://main.krxverse.co.kr/_contents/ACA/02010200/file/220104_beginner.pdf) | | 청소년을 위한 증권투자 | [Link](https://main.krxverse.co.kr/_contents/ACA/02010200/file/220104_teen.pdf) | | 기업사업보고서 공시자료 | [Link](https://opendart.fss.or.kr/) | | 시사경제용어사전 | [Link](https://terms.naver.com/list.naver?cid=43668&categoryId=43668) | ## MCQA MCQA 데이터는 Reference를 기반으로 다지선다형 문제를 생성한 데이터셋입니다. 문제와 답 뿐만 아니라 Reasoning 텍스트까지 생성하여 학습에 추가하였습니다. 학습에 사용된 데이터는 약 4.5만개 데이터셋이며, tiktoken의 o200k_base(gpt-4o, gpt-4o-mini Tokenizer)를 기준으로 총 2천만개의 토큰으로 학습되었습니다. | 데이터명 | 데이터 수 | 토큰 수 | |--------------------------------------|-----------|--------------| | 한국은행 경제금융 용어 700선 | 1,203 | 277,114 | | 재무회계 목차를 이용한 합성데이터 | 451 | 99,770 | | 금융감독용어사전 | 827 | 214,297 | | hf_web_text_synthetic_dataset_50k | 25,461 | 7,563,529 | | 지식경제용어사전 | 2,314 | 589,763 | | 한국거래소 비정기 간행물 | 1,183 | 230,148 | | 한국거래소규정 | 3,015 | 580,556 | | 초보투자자 증권따라잡기 | 599 | 116,472 | | 청소년을 위한 증권 투자 | 408 | 77,037 | | 기업사업보고서 공시자료 | 3,574 | 629,807 | | 시사경제용어사전 | 7,410 | 1,545,842 | | **합계** | **46,445**| **19,998,931**| ## QA QA 데이터는 Reference와 질문을 함께 Input으로 받아 생성한 답변과 Reference 없이 질문만을 Input으로 받아 생성한 답변 2가지로 구성됩니다. Reference를 제공받으면 모델은 보다 정확한 답변을 하지만 모델만의 지식이 제한되어 답변이 좀더 짧아지거나 다양성이 줄어들게 됩니다. 총 4.8만개의 데이터셋과 2억개의 토큰으로 학습되었습니다. | 데이터명 | 데이터 수 | 토큰 수 | |--------------------------------------|-----------|--------------| | 한국은행 경제금융 용어 700선 | 1,023 | 846,970 | | 금융감독용어사전 | 4,128 | 3,181,831 | | 지식경제용어사전 | 6,526 | 5,311,890 | | 한국거래소 비정기 간행물 | 1,510 | 1,089,342 | | 한국거래소규정 | 4,858 | 3,587,059 | | 기업사업보고서 공시자료 | 3,574 | 629,807 | | 시사경제용어사전 | 29,920 | 5,981,839 | | **합계** | **47,965**| **199,998,931**| # Citation ```bibitex @misc{jaylee2024krxllmcompetition, author = {Jay Lee}, title = {shibainu24: krx llm completition llm model}, year = {2024}, publisher = {GitHub}, journal = {GitHub repository}, url = {https://github.com/aiqwe/krx-llm-competition} } ```