금융 데이터 분석가 25

BERT 입력 데이터 규칙 및 코드

BERT 입력 데이터 형식 BERT 모델에 데이터를 입력하기 위해서는 일반적으로 다음과 같은 형식을 따르는 것이 일반적입니다. 각 입력 시퀀스는 토큰으로 분리되어야 합니다. 각 시퀀스는 특별한 토큰인 [CLS]로 시작하여, [SEP]로 끝나야 합니다. 입력 시퀀스의 길이는 모델이 정의한 최대 시퀀스 길이를 준수해야 합니다. 토큰들은 모델의 어휘 사전에 있는 토큰으로 변환되어야 합니다. 일반 텍스트 → BERT 입력 데이터 변환 코드 텍스트 데이터를 위의 규칙에 따라 BERT 입력 형식으로 변환합니다. def convert_lines(example, max_seq_length, tokenizer): max_seq_length -= 2 all_tokens = [] longer = 0 for text in t..

[NLP] BERT 기반 영어-한글 번역

Hugging Face의 Transformers 라이브러리를 사용하여 텍스트 번역하는 방법을 소개합니다. Pre-trained 모델 선택 Hugging Face에 올라온 모델 중에 가장 다운로드가 많은 facebook/nllb-200-distilled-600M 모델을 사용합니다. NLLB(Natural Language Longitudinal Benchmark)는 Facebook에서 개발한 큰 규모의 사전 훈련 모델입니다. 토크나이저, 모델 로드 transformers 라이브러리에서 AutoTokenizer 및 AutoModelForSeq2SeqLM 클래스를 가져옵니다. 이 라이브러리를 사용하여 사전 훈련된 모델과 토크나이저를 로드합니다. from transformers import AutoTokenize..

파이썬 경로 관련 코드

경로를 조작하고 다루는 것은 Python에서 파일 및 디렉토리를 다루는 작업에서 중요한 부분입니다. os 모듈을 사용하여 경로를 조작할 수 있습니다. 아래는 경로를 조작하는 일반적인 작업을 수행하는 Python 코드 예제입니다. 1. 현재 작업 디렉토리 확인 current_directory = os.getcwd() print("현재 작업 디렉토리:", current_directory) 2. 경로 결합 # 디렉토리와 파일 이름을 결합하여 새 경로를 생성 directory = "/경로/디렉토리" filename = "파일.txt" new_path = os.path.join(directory, filename) print("결합된 경로:", new_path) 3. 디렉토리 생성 new_directory = "..

LocalTokenNotFoundError(huggingface_hub.utils._headers.LocalTokenNotFoundError: Token is required (`token=True`), but no token found. You need to provide a token or be logged in to Hugging Face with `huggingface-cli login` or `huggingface_hub.login`. Se..

LocalTokenNotFoundError(huggingface_hub.utils._headers.LocalTokenNotFoundError: Token is required (`token=True`), but no token found. You need to provide a token or be logged in to Hugging Face with `huggingface-cli login` or `huggingface_hub.login`. See https://huggingface.co/settings/tokens. Huggingface Hub 또는 Hugging Face 모델 허브에서 모델을 다운로드하려고 할 때 발생하는 오류입니다. 이 오류는 모델을 다운로드할 때 인증 토큰이 필요한데 해당 토큰..

파이썬 패키지 만들기

파이썬 패키지 만드는 과정과 필수적으로 지켜야할 규칙을 소개합니다. 프로젝트 디렉토리 생성 패키지의 시작점이 될 루트 디렉토리를 생성합니다. mkdir my_package cd my_package 패키지 명을 지정할 때 주의할 점은 다음과 같습니다. 소문자 사용: 패키지 이름은 모두 소문자로 작성해야 합니다. 예를 들어, "my_package"와 같이 모두 소문자로 작성합니다. 밑줄(_) 사용: 이름에 밑줄을 사용할 수 있습니다. 밑줄은 단어를 구분하는 데 사용됩니다. 유일한 이름: 패키지 이름은 유일해야 합니다. "https://pypi.org/" 에서 검색해보고 지정하기를 추천드립니다. 디렉토리 구조 일반적인 디렉토리 구조는 아래와 같습니다. my_package/ __init__.py module1...

[NLP] FinBERT를 사용한 경제뉴스 sentiment analysis

FinBERT는 금융 분석에 특화된 언어 모델입니다. BERT (Bidirectional Encoder Representations from Transformers) 아키텍처를 기반으로 금융 데이터에 맞게 파인 튜닝된 버전입니다. 따라서 금융 용어, 문맥 및 정보에 특화된 지식을 갖추고 있습니다. 경제 뉴스 sentiment analysis Hugging Face에서는 여러 종류의 파인 튜닝된 FinBERT를 제공하고 있습니다. 저는 ProsusAI의 finbert를 사용했습니다. ProsusAI/finbert 모델과 토크나이저를 불러옵니다. num_labels 매개변수는 출력 레이블의 수를 나타내는데, FinBERT는 3개의 레이블(긍정, 부정, 중립)을 사용하고 있습니다. 불러온 모델을 평가 모드로 ..

[Github] 다른 저장소의 특정 폴더 가져오기

다른 저장소의 특정 폴더만 가져오려면 Git 서브모듈 또는 Git subtree를 사용할 수 있습니다. 1. Git 서브모듈 사용 Git 서브모듈을 사용하면 다른 저장소의 특정 폴더를 가져올 수 있습니다. 서브모듈은 외부 저장소를 현재 저장소의 하위 디렉토리로 추가합니다. 특정 폴더를 가져올 위치에서 다음 명령어를 실행합니다. 는 서브모듈을 추가할 디렉토리 경로이며, 은 가져올 저장소의 URL입니다. git submodule add 예를 들면, 아래 코드로 ProsusAI의 finBERT 깃 저장소에서 finbert 폴더를 가져올 수 있다. # 예시: ProsusAI/finBERT의 finbert 폴더 가져오기 git submodule add https://github.com/ProsusAI/finBER..

transformers 라이브러리 - Hugging Face Transformer

transformers는 자연어처리를 위해 필수적인 라이브러리 입니다. Transormer 모델을 쉽게 구현할 수 있도록 도와주는 도구로, 주요 기능과 예시코드를 소개합니다. Transformer 모델 Transformer 모델은 2017년 "Attention Is All You Need" 논문에서 처음 소개된 아키텍처입니다. 발표 이후에 대규모 자연어처리 모델의 메인 스트림으로 자리잡게 되었습니다. Transformer 모델은 문맥을 효과적으로 파악하면서도 대규모 데이터와 병렬 처리를 가능하도록 만들었습니다. transformers 라이브러리 기능 Hugging Face에서 개발한 파이썬 라이브러리로 Transformer 모델을 쉽게 구현할 수 있도록 도와줍니다. 1. 다양한 Pre-trained 모델..

ValueError: The model did not return a loss from the inputs, only the following keys: logits. For reference, the inputs it received are input_ids,token_type_ids,attention_mask.

ValueError: The model did not return a loss from the inputs, only the following keys: logits. For reference, the inputs it received are input_ids,token_type_ids,attention_mask. 이 오류는 모델이 손실(loss) 값을 반환하지 않았을 때 발생합니다. 일반적으로 모델이 훈련 중에 손실 값을 계산하도록 구성되어야 합니다. Hugging Face Transformers의 Trainer 클래스는 모델이 손실 값을 반환하도록 설정되어 있어야 합니다. 손실을 반환하려면 모델 클래스에 forward 메서드를 구현하여 손실을 계산하고 반환해야 합니다. 예를 들어, 다음과 같이 모델 ..

ImportError: Using the `Trainer` with `PyTorch` requires `accelerate>=0.20.1`: Please run `pip install transformers[torch]` or `pip install accelerate -U`

이 오류는 Trainer를 PyTorch와 함께 사용하기 위해 필요한 accelerate 라이브러리가 설치되어 있지 않을 때 발생합니다. accelerate는 Hugging Face Transformers 라이브러리와 함께 사용하여 모델 훈련을 가속화하는데 사용되는 라이브러리입니다. 이 오류를 해결하려면 아래의 명령어 중 하나를 실행하여 accelerate를 설치하세요. pip install transformers[torch] 또는 pip install accelerate -U 이 명령어는 필요한 패키지를 설치하고 오류를 해결해야 합니다. 그 후에 코드를 다시 실행하면 Trainer가 정상적으로 작동해야 합니다.

728x90