Road to FinGPT

  • #3857070
    kor 96.***.233.115 1472

    Goal: ai에게 주가 물어보기 (미씨주식방 아짐의 질문 “이제라도 nvidia 사야 돼요?”를 화두 삼아 ai 최신 기술은 어디에 와 있는지 배우며 계속 가봅니다)

    주가 물어볼 수 있는 FinGPT라는 게 있다고 해서 그걸 더 알아보는 과정에서, 생초보 기초 지식이 없어서 힘들군요. 모델이 뭔지, 어떻게 다운로드 한다는 건지, 어찌 실행하는 건지 등등. 그래서 쌩 초보의 마음으로 정리해봤습니다. 이게 온라인에 웹페이지 형태로 서비스 되고 있는 게 아니라서요.

    llm 모델 사용하는 일반 지식이라도 먼저 알아봅시다. 가입하고 돈 내고 그런 거 제가 취급 안 하므로, 아래 언급되는 소프트웨어, 서비스들은 모두 무료입니다.

    주말 프로젝트로 짬내어 주식 거래와 연관된 ai 기술에 대한 캐치업을 좀 해보고자 소위 “ai 무지렁이 (저요)를 위한 ai 기술 맛보며 알아보기”를 해보는 중입니다. 저와 비슷한 위치에 있는 분들 (어디 가서 뭘 해봐야 하느지 그 자체를 모르는 사람들)을 위해서, 실패와 성공을 모두 기록해둡니다.

    Edit: 따라하기 태스크 목차

    Topic 1: mistral 맛보기 (완전 offline 에서 실행되는 chatgpt 같은 겁니다)
    Topic 2: chatgpt UI와 동일한 UI로 mistral:7b 사용하기
    Topic 3: chatgpt UI와 동일한 UI로 codellama 사용해보기
    Topic 4: chatgpt UI와 동일한 UI로 wizard-math 사용해보기
    Topic 5: FinGPT 기능 맛보기
    Topic 6: webui로 FinGPT/fingpt-forecaster_dow30_llama2-7b_lora 다운로드하여 써보기 (실패)
    Topic 7: Dall-E 3 사용해보기는 유료라서 스킵.
    Topic 8: openart.ai 온라인 text-to-image 서비스에서 이쁜 여자 사진 생성해보기
    Topic 9: Stable diffusion (또다른 오픈소스 text-to-image 생성 모델) 다운로드 하여 이쁜 여자 사진 생성해보기
    Topic 10: Hugging Face 에 있는 저 수많은 모델을 어떻게 갖다 쓰라는 거지? 제일 심플해보이는 translation 모델로 모델 가져다 쓰는 방법 알아보자.
    Topic 11: FinGPT를 Colab에서 돌려보기 (실패)
    Topic 12: FinGPT를 로컬에서 돌려보기 (성공)

    Topic 1: mistral 맛보기 (완전 offline 에서 실행되는 chatgpt 같은 겁니다)

    이 대단한 걸 무료로 오픈한 meta에게 잠시 감사의 마음을 전하고요.

    • Download and install OllamaSetup.exe from https://ollama.com/download
    • 명령행 모드로 mistral 모델 실행하여 일반 대화 시작 => ollama run mistral (ollama.exe가 명령이에요)
    • 명령행 모드로 wizard-math 모델 실행하여 수학 문제 대화 시작 => ollama run wizard-math
    • 명령행 모드로 codellama 모델 실행하여 코딩 문제 대화 시작 => ollama run codellama
    • 명령행 모드로 sqlcoder 모델 실행하여 sql 질문 시작 => ollama run sqlcoder

    아직 stable diffusion 이 ollama에 없어서 text-to-image 를 못 하네요.

    Topic 2: chatgpt UI와 동일한 UI로 mistral:7b 사용하기. 이건 UI니까 꼭 필요한 건 아닙니다. 위의 명령행으로도 기능 맛보기는 되죠. 이건 docker가 필요해서 셋업 난이도가 상당하네요. docker 뭔지 모르시면 다음 2개도 건너뛰고 fingpt 기능 맛보기로 가세요.

    • docker run -d -p 3000:8080 –add-host=host.docker.internal:host-gateway -v ollama-webui:/app/backend/data –name ollama-webui –restart always ghcr.io/ollama-webui/ollama-webui:main (웹서버 실행하고)
    • start http://localhost:3000 (브라우저로 접속)
    • Sign up (user, password 아무거나 입력) > Settings > Models > “mistral” 입력 > Click Download icon
    • New Chat 누르고 대화 시작

    Topic 3: chatgpt UI와 동일한 UI로 codellama 사용해보기

    • Go to Settings > Models > “codellama” 입력 > Click Download icon
    • New Chat 누르고 codellama 모델을 dropdown 에서 선택하고
    • 코딩을 시켜본다, 예: “Write download_youtube.py with pytube.”

    Task 4: chatgpt UI와 동일한 UI로 wizard-math 사용해보기

    • Go to Settings > Models > “wizard-math” 입력 > Click Download icon
    • New Chat 누르고 wizard-math 모델을 dropdown 에서 선택하고
    • 수학 문제를 물어본다. 잘 못 푸니까 쉬운 걸로 살살 물어보세요. 답 확인은 wolframalpha.com 사용하시고.

    Topic 5: FinGPT 기능 맛보기

    • 설치 필요없는 온라인 데모, AAPL 내일 주가 실시간으로 물어볼 수 있습니다
    • https://huggingface.co/spaces/FinGPT/FinGPT-Forecaster 여기에 가서 걍 submit 버튼 클릭, 끝.
    • 어제 3/18일 돌려봤는데 3/19일에 3-4% down 될 거라고 했는데, 오늘 1.58% 올랐습니다. -_- 역시 그렇지 뭐…
    • 오늘 3/19일 돌려보길, 3/20일에 2-3% down 될 거라고 그러네요. 내일 봅시다.

    Topic 6: webui로 FinGPT/fingpt-forecaster_dow30_llama2-7b_lora 다운로드하여 써보기 (실패)

    • git clone https://github.com/oobabooga/text-generation-webui
    • cd text-generation-webui
    • start_windows.bat (웹서버 실행하고)
    • start http://127.0.0.1:7861 (브라우저로 접속)
    • Go to Model > Download > Download model or LoRA: FinGPT/fingpt-forecaster_dow30_llama2-7b_lora
      > click Download
    • Click the blue refresh icon under LoRA(s). 이거 ui가 극악의 난이도네요. 수많은 메뉴를 좌악 펼쳐놓고 니가 알면 써봐라 하는 식. 오늘은 일단 여기서 포기.

    Edit: 이건 실패. 알고보니 text-generation-webui 프로젝 이름이 말하듯이 chatbot 용 도구였습니다. FinGPT를 돌릴 수 있는지는 잘 모르겠는데, FinGPT에 최적화된 UI는 아니었던 듯. UI가 복잡하여 Task 6은 사용해보기 실패했고, 포기 합니다.

    ai 무료 모델 맛보기 이 정도면 된 거 같고요.

    수학 문제도 다 틀리면서도 마치 정답인 양 태연한 게 llm 이라서, fingpt 저 응답을 믿을 수는 당연히 없죠. fingpt를 포함하여, 이게 주가를 물어보는 것이라서 당연히 finance gpt용 백테스트 시스템도 필요하고 전진분석 시스템도 필요한데요. 급한 넘이 우물 판다고 내가 만들어야 하나 아니면 누군가 이미 만들었을까.

    “기사 몇 개 읽고 주가를 예측한다는 게 이게 말이 안 되는데… 음”

    좀 더 찾아봅니다.

    • kor 96.***.233.115

      ** 브래드용 지뢰 **

    • 24.***.19.3

      재밌네요. 좋은 정보 감사합니다.

    • Rsi 19.***.76.188

      현재 저걸로 BA 매수 해야 하는지 물어보면 뭐라고 답이 나오나요? 컴맹이라 AI 를 쓸 줄을 몰라서 ㅎㅎ

    • kor 172.***.193.223

      https://huggingface.co/spaces/FinGPT/FinGPT-Forecaster

      여기에 BA 넣고 Submit 눌러주세요. 내일은 1·2% 다운 예상이라고 하는군요. 앞으로 몇 주간 약간 하락 예상.

      하지만 믿지는 마세요. 다음 글에서 왜 이 ai 기반 주가 예상이 흥미로우면서도 비관적인지 좀 써보려고요.

    • Rsi 174.***.145.8

      어이쿠 미리 보고 매수할 걸
      이미 어제 70 주 매수 들어갔는데 쩝 아쉽네

    • Rsi 174.***.145.8

      보니까 근래에 경제기사 등을 근간으로 판단하는 거 같네요. 아뭏든 나의 BA 에 대한 직감이 finGPT 예측보다 낫기를 격하게 응원합니다 🤣

      • kor 96.***.233.115

        뭔가 판단 기준이 있으셨겠죠. 잘 되시기를 바랍니다.

    • kor 96.***.233.115

      모델 돌려보기 좀 더 해봤습니다. 뭐가 있는지 죽 훑어보는 중이에요. 오늘은 youtube에 유행하는 이쁜 여자 그림 생성해보기입니다.

      이미지 생성 ai 모델은 huggingface.co에 보면 무려 18315 가지의 모델들 (기존 용어로는 각각이 소프트웨어가 되겠죠, 각 모델이 다른 기능과 능력을 가지고 있으니까요) 이 있고요. 이미지 생성하는 모델만도 저만큼 많아요. startup 들이 유/무료 형태로 서비스를 제공하는 것도 있고, 모델만 무료로 제공하는 것도 있고 그러네요.

      Topic 7: Dall-E 3 사용해보기는 유료라서 스킵.

      Topic 8: openart.ai 온라인 text-to-image 서비스에서 이쁜 여자 사진 생성해보기

      • Go to openart.ai and sign up for free
      • Prompt에 “A beautiful girl wearing a see-through tank top and dolphin pants.”를 Prompt에 넣고 Generate 클릭
      • 그렇게 해서 몇십 초 후에 생성된 그림이 이거
      • https://i.ibb.co/rH0WXQw/image-96sb-XSy-H-1710988428077-raw.jpg

      Topic 9: Stable diffusion (또다른 오픈소스 text-to-image 생성 모델) 다운로드 하여 이쁜 여자 사진 생성해보기

      • git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui (코드 다운로드)
      • cd stable-diffusion-webui
      • webui.bat (웹서버 실행)
      • http://127.0.0.1:7862/ (브라우저 자동 실행되고)
      • txt2img 탭에 “A beautiful girl wearing a see-through tank top and dolphin pants.”를 Prompt에 넣고 Generate 클릭
      • 그렇게 몇 분 정도 그림 생성하던 도중 프로그램이 죽긴 했는데 여기까지 생성했음
      • https://i.ibb.co/d610yXP/download-202403201023123.png

      그림 생성은 이 정도로 해보면 된 거 같고. 음 fingpt는 언제 돌려보나. 그런데 뭘 할 수 있는지를 다 모르니 “돌려본다”고 말은 하면서도 돌려보는 게 어떤 형태가 되는지는 아직 잘 모르겠음. 무료로 온라인에서 실행하는 걸까. 다운로드해야 실행이 되는 걸까…

    • kor 96.***.233.115

      Topic 10: Hugging Face 에 있는 저 수많은 모델을 어떻게 갖다 쓰라는 거지? 제일 심플해보이는 translation 모델로 알아보자.

      • 구글에서 huggingface english korean translation 모델 중 유명한 거 검색: Helsinki-NLP/opus-mt-ko-en 이거 발견 (한국어-to-영어 번역기인 듯).
      • Bing copilot한테 가서 사용법 내놓으라고 요구. 프롬프트에 “Write a tutorial on how to use Helsinki-NLP/opus-mt-ko-en from Hugging Face using Colab notebook.” 입력하여 아래 코드를 응답으로 받음.
      • !pip install transformers
        from transformers import MarianMTModel, MarianTokenizer
        model_name = 'Helsinki-NLP/opus-mt-ko-en'
        tokenizer = MarianTokenizer.from_pretrained(model_name)
        model = MarianMTModel.from_pretrained(model_name)
        text = '안녕하세요'
        tokenized_text = tokenizer.prepare_seq2seq_batch([text], return_tensors='pt')
        translated = model.generate(**tokenized_text)
        tgt_text = [tokenizer.decode(t, skip_special_tokens=True) for t in translated]
        print(tgt_text)
        
      • colab.research.google.com 무료 사인업, 로그인, 새 notebook 생성 후, 위 코드를 paste 함.
      • 실행하니, HF_TOKEN 없다고 에러 발생. HF_TOKEN이 뭐야…?
      • Bing copilot 한테 HF_TOKEN 발급받는 법 내놓으라고 요구. 프롬프트: “How do I get HF_TOKEN for Hugging Face?” 입력하여 아래 절차를 받음.
      • 절차
        • Hugging Face에서 HF_TOKEN을 얻는 방법은 다음과 같습니다:
        • 먼저 Hugging Face 웹사이트에 가입하거나 로그인합니다: Hugging Face 로그인 한 후, 오른쪽 상단의 사용자 아이콘을 클릭하여 드롭다운 메뉴에서 ‘Settings’를 선택합니다.
        • ‘Settings’ 페이지에서 왼쪽 메뉴에서 ‘API tokens’를 선택합니다.
        • ‘New token’ 버튼을 클릭하여 새로운 토큰을 생성합니다. 이 때, 토큰의 이름과 역할을 선택할 수 있습니다. 역할은 ‘read’와 ‘write’ 중에서 선택할 수 있으며, 필요에 따라 선택하면 됩니다.
        • 토큰이 생성되면, ‘hf_xxxxx’ 형태의 토큰 값을 복사하여 안전한 곳에 저장합니다.
      • 그대로 따라 해서 토큰 값 하나 받음.
      • colab의 왼쪽 탭에 Secrets에 HF_TOKEN이라는 이름으로 key-pair 하나 추가하고 hf_xxxxx 토큰 값을 입력.
      • colab에서 코드 다시 실행. “안녕하세요”의 영어 번역 “Hello” 응답 받음. 잘 되네.

      한영 번역이 되네. 이렇게 쓰는 거로군. 알았쓰. 이제 fingpt 해볼까?

      Edit:

      Prompt로 아래 두 문장 넣었더니

      영어로 번역하세요.
      “아버지 가방에 들어가신다와 아버지가 방에 들어가신다는 두 문장은 다른 뜻이야.”

      With Helsinki-NLP/opus-mt-ko-en:
      “Two sentences that say you’re in his bag and you’re in his room are different.” 이렇게 나오네요. 딱 맞지는 않지만 그럭저럭 괜찮은데요?

      라고 쓴 후에 바로 GPT-4 한테 똑같은 거 시켰더니 압도적으로 잘 하네요.
      “The sentence ‘Father goes into the bag’ and ‘Father goes into the room’ have different meanings.”

      Bard (Gemini)도 만만치 않게 잘 하네요.
      “There is a big difference between the two sentences “Father enters the bag” and “Father enters the room.”

      GPT-4, Gemini 보고 나니 역시 무료 모델이 허섭해지는군요.

    • Rsi 174.***.147.161

      BA 오늘 0.04% 하락. FinGPT 1-2% 하락 예상. 다우지수가 거의 1% 오른 날 BA 가 하락한 거 자체만으로 FinGPT 의 예측이 상당히 신뢰가 감

      • kor 96.***.233.115

        랜덤 샘플링한 뉴스와 거래 방향이 한 번 맞은 걸로 ‘상당히 신뢰가 감’으로 옮겨가심 위험한데요. ㅋㅋ

    • Rsi 97.***.114.0

      아닙니다 tsla 도 어제 앞으로 1 주일간 5% 떨어진다고 예상했었는데 오늘 벌써 2% 정도 하락했음 ㅎㅎ 일주일 후에 확인해 보겠습니다
      물론 아주 작은 쌤플 싸이즈입니다 그리고 FinGPT 하나만 보고 정말 투자하시는 범실을 저지르시는 분은 설마 없겠죠 ㅎㅎ

      • kor 96.***.233.115

        FinGPT 든 뭐든 시스템 트레이딩을 믿고 쓴다~ 하려면 10년치로 검증해야 돼요. 보통 경기 하강, 상승 사이클을 완전히 포함하는 기간으로 시스템 검증을 돌립니다. 몇년치 검증도 너무 작아요.

        그러나 “됐고~ 오늘 AAPL 뉴스를 숫자 하나로 요약해주는 서비스면 난 만족해” 하는 사람이면 이게 딱이죠.

        설명 페이지에 뉴스 랜덤 샘플링 안 하고 전부 다 읽게 하고 싶으면 다운로드해서 직접 돌려라 라고 돼 있어서, 그것도 해보려고요 (Task 12). 뉴스 소스를 바꿀 수도 있는 것 같고요.

        그거 하기 전에 FinGPT를 Colab으로 호출해보는 것 먼저 해봅니다 (Task 11).

        프로젝이 너무 마음에 들어서 나도 끼워줘~ 내가 허드렛일부터 할 수 있다 하려고 기존 멤버들을 봤는데 7명이 중국인 이름에 국적을 알 수 없는 1명, 아마 전원이 중국인인 듯 하여 멈칫했다는… 소스코드에는 중국어 난무.

    • Rsi 174.***.147.161

      아 중국애들 정말 여기까지 대단하네요
      아뭏든 좋은 거 배우고 갑니다 명심할께요

    • kor 96.***.233.115

      Topic 11: FinGPT를 Colab에서 돌려보기는 실패

      • 여러 문제들이 있어서 최종적으로 돌리는데는 실패했고요. 아래에 Task 12에서 local 에서 많은 문제를 수정한 후에야 돌리기에 성공했는데, colab 에서 다시 해봐도 여전히 llm-specific 한 문제라고 보여지는 문제들을 해결하지 못하여 돌리는데는 실패했습니다.
      • 한편 colab이 무료로 제공하는 환경에 대해서는 좀 더 알게 됐네요. colab 파이썬 스크립이 실행되는 무료 머신이, 13GB System RAM, 15GB T4 GPU RAM, 78GB Disk를 제공해서, 이 FinGPT 모델 실행에 필요한 hardware는 충분히 제공한다는 점.

      다음에 local에서 FinGPT 돌려보기는 많은 문제를 수정한 끝에 돌려보는데 성공했네요.

    • kor 96.***.233.115

      Topic 12: FinGPT를 로컬에서 돌려보기 (성공)

      1. 뭐가 뭔지 찾는 과정

      2. 뭘 해야 하는지 찾은 듯, 돌려보자.

      • git clone https://github.com/AI4Finance-Foundation/FinGPT 해주고
      • FinGPT_Forecaster로 가서 이걸 뭘로 로딩을 해야 하나? 구글해서 PyCharm을 하나 깔아주고.
      • app.py 실행하니 gradio 없다고 에러? 프로젝에 빵꾸가 하나 있네. 구글해서 requirements.txt 파일에 gradio 하나 추가해주고 다시 실행. Good, 그러나 다음 에러 발생.
      • cp949 인코딩 에러? 구글한테 물어보니 PYTHONUTF8=1을 환경변수 추가하라고. Good, 그러나 다음 에러 발생.
      • 환경변수 HF_TOKEN 없다고? 이건 앞에서 해봐서 알지. 환경변수 HF_TOKEN=hf_gPmcZ**** 추가해주고, 다시 실행. Good, 그러나 다음 에러 발생.
      • 환경변수 FINNHUB_API_KEY 없다고 에러? 이건 뭐냐, 구글해보니 finnhub.io라는 곳에서 발급하는 뭔 키로군. finnhub.io 가입하고 API Key 하나 FINNHUB_API_KEY=cnv28s1r**** 발급받아 환경변수에 추가 후 다시 실행. Good.
      • 마침내 app.py가 시작되는데 Downloading shards: 0%… 메시지 나오고 대략 1시간 정도 걸려서 모델 10GB 다운로드 후 앱이 시작됨
      • Running on local URL: http://127.0.0.1:7863 메시지 나와서 주소로 접속하니, 온라인에서 본 바로 그 화면이 나옴. 이거.

      실행 후 초기화면

    • kor 96.***.233.115

      Topic 12 continued.

      3. app 시작 도중 에러는 다 고쳤고, 이제 써볼까.

      • Submit 누르니 에러? C:/Program Files/NVIDIA Corporation/NVSMI/nvml.dll 이 없다고 에러나네. 내 gpu가 nvdia이긴 하지만 그런 파일은 없는데? 뭘 설치해야 하나. pynvml.py가 그 파일을 거기서 찾는데, 이 녀석이 잘못한 건가 내가 뭘 안 깔아서 그러는 건가. 구글에 물어보니 아 pynvml이 뭘 몰라서 그런 거라고 https://github.com/gpuopenanalytics/pynvml/issues/31 여기 나오네. nvml.dll을 시스템에서 찾아보니 c:\Windows\System32\nvml.dll에 있네. 카피해주자. 파일을 거기서 C:\Program Files\NVIDIA Corporation\NVSMI로 카피해주고, 다시 Submit 클릭. Good, 뭔가를 다운로드 한 후 다음 에러 발생. 휴 에러 언제 끝나냐.
      • RuntimeError: addmm_impl_cpu_ not implemented for Half 에러? 뭔 말인지 모르겠네. Bing copilot 한테 물어보니, GPU용 데이터 타입인 “float16″을 써서 그런 것일걸? “float32″로 바꿔보라고. 뭔 말인지 모르겠지만, 코드를 보니 float16이라는 글자가 보임. float32로 수정해줌. app.py 재실행함.

      4. 마침내 runtime 에러도 모두 수정하고, 진짜 써볼까.

      • Submit 눌러 줌.
      • 뭔가 온라인 데모하고 비슷하게 프로세싱 timer가 돌아가는데, 온라인 데모는 1분 정도면 됐는데 이건 cpu로 돌리는 것이라 그런건지 아니면 gpu가 너무 구형이라 그런건지 한참 걸리네요.
      • 뉴스 headline 다운로드는 십몇 초 정도고 나머지 시간은 텍스트 생성 시간. 아주 천천히 단어가 생성이 됨. 총 10분 걸림. 온라인 데모의 딱 10배 느림. -_- “Use Latest Basic Financials” 체크박스를 켜고 돌렸더니 17분 걸림.

      주가 조언을 받은 화면

      5. 성능에 대한 소감

      • 내 pc는 너무너무 구렸다는 것.
      • 내 컴퓨터는 무려 9년된 것, 그것도 살 당시에도 이미 중고를 샀던 건데 이번에 너무 과한 일을 시켜서 혼쭐이 남. 이 구형 pc로는 llm이 너무 과한 일이었던 것. 그래도 내 pc에 램을 거의 100GB 꽂아놔서 웬만한 건 쌩쌩 돌아가는 편인데, 이제 보내고 ai 시대를 맞아 새로 하나 사야 하는 걸까.
      • 딸래미에게 사준 mac m2로 해보면 좀 나을까. 딸, 방학 때 오면 보자.
      • 전문 연구자님들. 취미로 돌리는 ai에 적당한 싼 gpu 추천해주세요. 1000~3000불 사이 정도면 좀 돌릴만 하려나요? nvidia 주가폭등의 주인공 h100은 amazon에 보니 4만 3천달러로 취미용으로 사기에는 너무 비싸고.
      • 그외, 우선 코드가 당연히 gpu는 nvidia를 쓰게 돼 있는 걸 보고, 아 nvidia가 이 개발도구 때문에 시장에 대한 거의 독점했다는 얘기가 다시 떠올랐네요.
      • 내 gpu는 무려 10년 전 출시된 nvidia gtx 970인데 이것도 ai가 gpu로 쳐주려나 궁금하네요. float16 (gpu 전용 데이터타입) to float32 코드 수정을 하라 해서 했는데 그게 gpu를 disable 시켰다는 뜻인지, 아니면 좀 성능이 저하된 모드로 여전히 gpu를 쓴다는 건지 아직 잘 모르겠음. 암튼 bing copilot이 시키는 대로 하니 에러는 수정이 됐음.

      FinGPT가 로컬 동작하니, 다음에는 주가 estimate의 정확성 담보를 어떻게 하고 있는지 내부를 좀 더 알아보죠. 기사를 요약하는 수준인 건지, sentiment를 추가해주는 수준인지, 아니면 뭔 더 고도의 ai 가 있는 것인지.

      https://www.workingus.com/forums/topic/road-to-fingpt-2 에서 계속

      • zapster 175.***.50.230

        float16이라는 글자가 보임. float32로 수정 => 이렇게 하면 CPU에서 실행돼서 느릴 거예요.

        저는 대신 torch를 GPU용으로 설치하니 수정하지 않아도 GPU에서 실행되네요.

        • kor 172.***.196.43

          저도 그렇게 해보죠. 온라인 데모가 70초. 제 pc cpu 로 17분. gpu 로는 몇 분 걸리는지 해보죠. 감사합니다.

        • kor 96.***.233.115

          수십차례 시도한 끝에 gpu를 enable 하는데 성공하긴 했습니다. 저는 님이 말한 게 무슨 말인지 이해하지 못 했지만 bing copilot은 무슨 말인지 잘 알고 있더라고요. -_- bing copilot을 혼내가며 계속 잡아돌려 절차를 알아냈습니다.

          torch.cuda.is_available() = True
          torch.version.cuda = 11.3 // Nvidia GTX 970이 지원하는 가장 최근 버전
          torch.__version__ = 1.12.1+cu113 // 11.3을 지원하는 가장 최근 torch

          제 Nvidia GTX 970이 10년 된 구형 모델이라 cuda 버전 내리고 torch 버전 내리고 내리고를 반복하여 아주 예전 버전까지 거슬러 간 끝에 gpu 용 torch를 활성화시키기는 했는데 결국 원래 문제 (fp16 지원 x) 해결이 안 됐어요. 왜 그런지 계속 찾아보니 GTX 970이 오래된 구형 gpu라서 fp16은 native support 하지 않는다는 글이 있네요.

          cpu 모드로라도 되는 게 어디냐 하는 생각이긴 합니다. 제 PC가 Xeon E5-2660 dual processor인데 Submission 당 15~17분 정도 걸리네요.

          지금부터 하는 건 Investment 게시판과 어울리지 않아 자세하게는 안 쓰겠지만, 몇 가지 더 확인할 게 있어서 개인적으로 알아보고 나중에 써머리 하나 올리도록 하죠.

          더 알아볼 예정인 topic은

          – 같은 프롬프트를 bard, gemini, chatgpt에게 물어보면 어떻게 거절당하는가
          – 같은 프롬프트를 fingpt의 트레이닝 이전 베이스 모델인 llama2에게 물어보면 어떤 답을 주는가 (즉 트레이닝하면 얼마나 바뀌는가)
          – 트레이닝 절차 좀 배워야겠다
          – GPTs가 도메인 지식을 넣도록 허용하는 물건이라던데 금융 지식 넣을 수 있는지 봐야겠다
          – FinGPT economist를 만들기 위해 트레이닝을 해봐야겠다
          – FinGPT strategiest를 만들기 위해 트레이닝을 해봐야겠다
          – FinGPT trader를 만들기 위해 트레이닝을 해봐야겠다

          • zapster 175.***.50.230

            제 컴퓨터는 i7-3770K에 RTX3060 12GB가 달려 있습니다.

            CPU는 너무 느리고 GPU로 실행하니 10분 정도 걸리네요. (님 CPU로 돌리는 것하고 비슷하네요;;;)

            GPU로 실행하시려면 VRAM도 상당히 커야 할 것 같은데 10년 전 GPU면 좀 힘들긴 하겠네요.

            여튼 코드에서 뉴스 랜덤샘플링이 5개까지인데 이걸 완전 해제하고 모든 뉴스를 사용하도록 하니까

            시간이 너무 오래 걸려서 결과는 보지 못했습니다.

            대신 뉴스샘플링 갯수를 10개 20개 그 이상으로 늘리니 그나마 실행은 되는데

            랜덤샘플링 때문에 실행시마다 예측치가 다르게 나오네요. (당연한 결과이죠)

            저도 트레이닝을 좀 시켜보고 싶은데 어떻게 해야 할지 좀 막막하네요. 뉴스와 주가데이터 둘 다 넣고 학습을 시켜야 할텐데…

            데이터를 어떻게 구해야 할지 좀 막막합니다.

            FinGPT 자체가 뉴스랑 주가데이터를 Finnhub과 Yahoo Finance에서 가져오니 FinGPT 어딘가 학습시키는 코드가 있을 수도 있는데…

            FinGPT_Training_LoRA_with_ChatGLM2_6B_for_Beginners.ipynb 이 파일에 학습방법이 나와 있을지도 모르겠습니다.