| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- server.xml
- 파이썬배포
- ES스냅샷
- Eclipse
- fastapi배포
- Elasticsearch
- 자바패키징
- 파이썬패키징
- context.xml
- data source
- Spring
- get
- 어노테이션
- 비동기 #자바비동기 #자바 #JAVA #Java #JavaAsync
- Python #python #파이썬 #파이썬비동기 #PythonAsync
- restore
- POST
- ES
- Snapshot
- Today
- Total
목록전체 글 (62)
우리네 장
https://qpmi1zm29.tistory.com/73 Transformer 간략 설명 BERT 모델과 GPT 모델은 모두 Transformer를 근간으로 한 모델이다. Transformer 구조는 [인코더] --> [디코더] 로 이루어져 있으나, BERT는 인코더를 구현한 모델이고GPT는 디코더를 구현한 모델이다. Transformer 의 인코더는 문장의 전체를 한 번에 보고 full-attention을 사용해 관계를 통해 문맥을 이해한다.1 ←→ 2 ←→ 3(다 서로 연결)이를 사용한 BERT는 문장 전체 이해하는 데에 강점을 보이며, [빈칸 채우기, 문장 순서 맞추기, 문장을 바탕으로 한 질의응답, 카테고리 분류]에 뛰어나다.MLM : Masked Language Modeling (빈칸채우기..
Transformer : Self-Attention을 적용한 모델 아키텍처 Self-Attention 이란 ?- 문장 전체를 보고 각각의 전체 단어(token)이 문장 내 다른 모든 단어들과 관계를 갖는 것을 의미- 문장 전체를 바탕으로 맥락을 이해할 수 있다. (이전 방식은 문장 앞에서부터 해석 --> 뒤로 갈 수록 앞 문맥이 희미) Transformer는 [ 인코더 layer ] → [ 디코더 layer ]로 이루어져 있다. : 인코더는 문맥을 고려해 문장을 해석하고 디코더는 이해한 내용을 바탕으로 새로운 문장을 생성한다. Transformer 구조에서는 Self-Attention을 통해 문장의 문맥을 파악하여 이해한다. 어떻게? Transformer 구조에는 내재화된 각기 다른 행렬이 존재한다..
QA 환경에 있는 ES에 2만건 정도 문서를 적재했는데, 문서 생성 시마다 LLM 모델을 통해 가공이 필요해서 한 번 적재하는데 비용이 꽤 든다구 한다.. 그래서 운영 환경에는 QA에 있는 문서를 옮겨서 사용하기로 했는데, 간단하게 구성한 흐름은 다음과 같다 A 서버에 설치된 ES에서 snapshot 생성 > B 서버로 이동하여 restore 문서 데이터를 옮기는 방법에는 restore와 reindex 가 있는데 차이는 다음과 같다restore : 문서 + metadata 이동reindex : 문서 이동reindex는 문서만 이동되기 때문에 미리 인덱스를 생성해 놓아야 한다. 미리 생성하지 않으면 ES가 자동생성 되면서 index mapping, settings (ex. number_of_shards, ..
[Java의 기본 실행]Java는 멀티 스레드의 병렬 실행을 지원하는 언어입니다.Thread per Request로 사용자 요청이 한 건 들어올 때마다 새로운 User Thread를 생성합니다.그리고 각 User Thread는 Kernel Thread 와 1:1 매핑이 되는데, Kernel Thread는 OS 스케쥴러에 의해 스케쥴링 되는 대상입니다.즉 각 사용자 요청은 N개의 CPU 중 하나를 할당 받아 실행이 됩니다. [CompletableFuture 기반의 비동기 실행] Java에서 비동기 실행을 지원하는 클래스로 CompletableFuture가 있습니다.기본적으로 Python의 비동기 실행과 다른 점은 Java는 다른 Task를 처리하는 방식이 아닌 동일한 처리 흐름 안에서 바로 다음 명령을 ..
두 언어의 컨셉이 다르기 때문에 비동기를 수행하는 방법이 달라 정리해보았습니다. [Python의 기본 실행]Python은 가비지컬렉션을 위한 레퍼런스 체크가 스레드세이프 하지 않기 때문에, GIL이라는 Lock을 사용합니다.GIL는 파이썬 인터프리터가 한 번에 하나의 스레드의 코드만 실행될 수 있도록 하는 역할을 하는데, 동시에 여러 스레드가 하나의 변수를 사용할 경우 레퍼런스 카운트의 값이 잘못될 수 있기 때문입니다.a = SomeObject() # → ref count 1b = a # → ref count 2del a # → ref count 1 그래서 GIL로 인해 Python은 N개의 스레드를 생성하는 멀티스레드 언어이지만, 실제로는 병렬실행이 되..
맨날 도커 레지스트리만 써서 tag의 역할이 이미지 이름 붙여주는 걸로만 생각하고 있었는데, ECS나 harbor에 이미지를 push 하면서 진정한 역할을 알게되었다.. [정의]tag는 빌드된 이미지 label 이기도 하고 + 동시에 이미지가 push될 레지스트리의 주소를 의미한다. [설명]처음에 이해가 잘 안되었는데 docker의 push cli를 보면 이해가 조금 간다.docker push xxx.harbor.com/A/B:1.0 생각하기로는 push할 대상과 push할 경로를 파라미터로 전달해주는게 좀 더 자연스럽지만, 위 명령을 보면 하나의 파라미터만 받고 있다. 이건 docker의 설계가 이렇게 되어있는 것인데.. 이미지 내에 이 이미지가 어디로 push 될 건지를 정의하는 부분이 전혀 없다보..
상담업무를 하고 계신 분들이 AI 답변의 품질을 평가하기 위해 개발서버에서 테스트를 종종 하시는데간헐적으로 아래 DB에러가 발생한다.. (oracledb.exceptions.DatabaseError) DPY-4011: the database or network closed the connection[Errno 32] Broken pipeHelp: https://python-oracledb.readthedocs.io/en/latest/user_guide/troubleshooting.html#dpy-4011 해석하자면 Broken pipe : pool 내 Connection의 물리적 DB와의 연결이 정상적이지 않다는 의미이다.연결이 끊어진 Connection 객체를 사용해서 쿼리를 실행하려고 하니 에러가 ..
generate_content() 호출 시, model / contents 속성과 함께 config를 지정한다. config=types.GenerateContentConfig( temperature=0.0, thinking_config=types.ThinkingConfig(thinking_budget=0), system_instruction=f""" SystemMessage Example """ ) genai는 claude와 달리 system message를 content에 포함하는 것이 아닌 config에 포함한다.( ※ system 이라는 role이 존재하지 않음) 2.5 버전의 ..