분류 전체보기

    asdasd

    # 데이터 다운로드(MAC) !wget "https://raw.githubusercontent.com/JM-Education/python-utilization/main/(w04)dataAnalysis/titanic.csv" import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 데이터 불러오기 titanic_data = pd.read_csv('titanic.csv') # 데이터의 일부 확인 titanic_data.head()

    [NLP]. 한국어(Korean)에서 반말(informal)을 존댓말(formal)로 바꿔주는 변환기(convertor) - korean Formal Convertor Using Deep Learning

    존댓말과 반말은 한국어에서만 존재합니다, 본 모델은 반말(informal)을 존댓말(formal)로 바꿔주는 변환기(convertor) 입니다. *확보한 존댓말 데이터셋에는 "해요체"와 "합쇼체" 두 종류가 존재했지만 본 모델은 "해요체"로 통일하여 변환하기로 결정했습니다. 합쇼체 *해요체 안녕하십니까. 안녕하세요. 좋은 아침입니다. 좋은 아침이에요. 바쁘시지 않았으면 좋겠습니다. 바쁘시지 않았으면 좋겠어요. 배경 이전에 존댓말과 반말을 구분하는 분류기(https://github.com/jongmin-oh/korean-formal-classifier) 를 학습했습니다. 분류기로 말투를 나눠 사용하려했지만, 상대적으로 존댓말의 비중이 적었고 반말을 존댓말로 바꾸어 존댓말 데이터의 비중을 늘리기위해 만들게 ..

    [NLP]. 한국어 메신저(구어체)대화 맞춤법(typos) 오타 교정기(Corrector) 모델 : Korean Typos(Spelling) Corrector Using Deep Learning

    한국어 맞춤법 교정기 ETRI-et5 모델을 기반으로 fine-tuning한 한국어 구어체 전용 맞춤법 교정기 입니다. 바로 사용하실 분들은 밑에 예제 코드 참고해서 모델('j5ng/et5-typos-corrector') 다운받아 사용하실 수 있습니다. Base on PLM model(ET5) ETRI(https://aiopen.etri.re.kr/et5Model) Base on Dataset 모두의 말뭉치(https://corpus.korean.go.kr/request/reausetMain.do?lang=ko) 맞춤법 교정 데이터 예시 original corrected 이런게 눔 ㄱ ㅣ찮아서 ㅠㅠ 이런 게 넘 귀찮아서 ㅠㅠ 어쩌다 가게되써 어쩌다 가게 됐어? 이따 얘기하쟈 이따 얘기하자 ㅋㅋㅋㅋㅋㅋ언넝..

    [NLP]. 크로스 인코더(Cross Encoder) Onnx Runtime 양자화 하기

    문제 발생 크로스 인코더(Cross-Encoder)는 바이 인코더(Bi-Encoder)와 다르게 질문(S1)과 답변(S2)을 함께 임베딩하고 그 유사도를 학습하는 방식이다. 일반적으로 속도 때문에 Bi-Encoder를 사용해서 미리 임베딩한 뒤 비교하는 방식을 사용했지만, 크로스 인코더를 사용하면 유사도 스코어가 많이 증가한다, (실제로 73 -> 83 까지 올라갔다.) 하지만 크로스 인코더의 단점은 바로 속도... 최대한 가벼운 모델을 사용해 속도를 최소화 했고 이미 많이 사용해서 쓰고있는 Onnx 모델로 변환하고 양자화를 사용해 모델 속도를 최소화 하려고했다. 하지만 Sentence-Transfomer 모듈에서 학습한 모델은 임베딩만 해주더라. ONNX Runtime을 사용하였더니 output 값이 ..

    [NLP]. Ray와 Sklearn Pipeline을 사용하여 Pandas 데이터 전처리하기

    import pandas as pd import ray import re from sklearn.pipeline import Pipeline from sklearn.preprocessing import FunctionTransformer # 예시 데이터프레임 df = pd.DataFrame({'question': ['Q1', 'Q2', 'Q3'], 'answer': ['Answer 1', 'Answer 2', 'Answer 3']}) # HTML 태그 제거 함수 @ray.remote def remove_html_tags(text): clean_text = re.sub('', '', text) # 정규식을 이용하여 HTML 태그 제거 return clean_text # 데이터프레임의 'answer' 칼럼에..

    [AWS]. EC2 생성 시 기본 셋팅하기(메모용)

    기본적으로 OS는 아마존 리눅스를 사용했습니다(Centos랑 비슷) 1. htop 설치 htop은 운영체제의 CPU, Memory 등의 정보를 실시간으로 모니터링하기 위해서 사용됩니다 sudo yum update -y && yum install -y htop 2. 아나콘다 설치 설치경로 : /home/ec2-user/ wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh bash Anaconda3-2023.03-Linux-x86_64.sh 환경 변수 설정 vi ~/.bashrc 맨 윗줄에 추가 export PATH="/home/ec2-user/anaconda3/bin:$PATH" 적용 source ~/.bashrc

    [딥러닝]. 자연어 처리 모델 경량화 순서

    [모델 경량화 기법 적용 순서] 딥러닝 모델의 크기를 줄이는 경량화 기법은 다음과 같이 적용 순서를 결정할 수 있습니다. Pruning: 불필요한 가중치를 제거하여 모델의 크기를 줄입니다. 모델의 크기가 대폭 축소되면서도 모델의 정확도는 크게 감소하지 않습니다. Quantization: 모델의 가중치와 활성화 함수 값을 낮은 비트 수로 표현하여 모델의 크기를 줄입니다. 모델의 크기가 줄어들어 메모리 사용량이 줄어들면서도 모델의 정확도는 크게 감소하지 않습니다. Knowledge distillation: 대규모 모델의 지식을 작은 모델에 전달하여 작은 모델의 성능을 향상시킵니다. 작은 모델이 큰 모델의 성능을 따라잡게 되어 큰 모델의 정확도에 근접한 성능을 얻을 수 있습니다. Low-rank approxi..

    [Elastic]. elastic search Docker Setup

    설치 정보 Verson 8.4.2 Single Node Setting localhost 에 설치 네트워크 생성 docker network create elastic 도커 이미지 다운로드 & 도커 런 docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.4.2 패스워드 재설정 docker exec -it es-node01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic 패스워드 메모 : Gz-YD7e0hGc*5NsMRjvj 인증서파일 복사 docker cp es-node01:..

    [NLP]. HuggingFace Tokenizer에 token 추가(add)하기

    from transformers import AutoTokenizer tokenzer = AutoTokenizer.from_pretrained({model_path}) # new tokens new_tokens = "[NEW]" tokenizer.add_special_tokens({"additional_special_tokens" : [new_tokens]}) model.resize_token_embeddings(len(tokenizer)) resize_token_embeddings(len(tokenizer))를 안해주게 되면 임베딩 에러 발생 + 추가 Sbert의 경우 # ADD tokens tokens = ["[NEW]"] embedding_model = model._first_module() emb..