ChatGPT에서 DALL-E 3를 사용할 수 있습니다. ChatGPT와 같이 사용하면 다양한 활용과 함께 더욱 편리한 사용이 가능합니다.

 

https://youtu.be/4ldX84HTTrg

다국어 개체명 인식에 있어 사용하는 벤치마크 데이터세트인 XTREME을 중심으로 살펴봅니다.

감사합니다.

 

 유튜브 영상

 

https://youtu.be/sMRZUv_4VY0

 

 

 

 

 유튜브

https://youtu.be/glhfZTWfjxE

 

 기존 문제점

 

(고비용과 높은 사양의 메모리 필요) SDXL(Stable Diffusion XL)은 고품질의 사실적인 콘텐츠 생성을 가능하게 하는 제너레이티브 AI 모델임. 그러나 이 모델을 사용하려면 높은 계산 비용과 메모리 요구 사항에 대응해야 함. SDXL은 이전 버전보다 UNet 컴포넌트가 약 3배 더 크며, 이로 인해 프로덕션 환경에서의 배포가 어려웠음

 문제점 해결

- (또 하나의 변화) 2023.10.3일 Google은 Hugging Face Diffusion team의 도움을 받아 Hugging Face Spaces에 초고속 SDXL 추론앱을 출시하였음

 

- (허깅페이스와 구글 공동 작업으로 해결) 허깅 페이스 디퓨저(Hugging Face Diffusers)는 이제 클라우드 TPU와 JAX를 사용하여 SDXL을 지원함으로써 이러한 문제를 해결하였음.

- Google Cloud TPU는 대규모 AI 모델, 특히 SDXL과 같은 생성형 AI 모델의 학습과 추론에 최적화된 맞춤형 AI 가속기임. 최근에 소개된 Cloud TPU v5e는 TPU v4에 비해 절반 가량의 비용으로 높은 성능을 제공, 더 많은 조직이 AI 모델을 효율적으로 학습하고 배포할 수 있게 돕고 있다고 함

 

- (직접 체험 가능) 디퓨저의 JAX 통합은 XLA를 통해 TPU에서 SDXL을 효율적으로 실행하는 방법을 제공하며, 사용자들은 제공된 Hugging Face와 Google이 제공한 데모를 통해 이를 직접 체험할 수 있음.

 

- (시사점) 이러한 혁신은 SDXL과 같은 대형 AI 모델을 더 넓은 범위에서 활용할 수 있는 기회가 생기고 있음을 말해줌.

특히, 일반 비전문가 소비자에게는 더욱 반가운 소식일 수 있음. 

 

[참고] Transformer & Diffusers

구분 Hugging Face Transformer Hugging Face Diffusers
목적과 사용처 자연어 처리(NLP) 작업에 주로 사용됨 제너레이티브 모델, 특히 이미지 생성 모델에 중점
주요 기능 - 다양한 사전 훈련된 NLP 모델 제공
- 텍스트 분류, 문장 생성, 번역, 요약 등 NLP 작업 지원
- 고성능의 비용 효율적인 추론 지원
- 대형 이미지 생성 모델을 프로덕션 환경에 배포 지원
호환 프레임워크 PyTorch와 TensorFlow JAX
적용 분야 - 텍스트 분류
- 문장 생성
- 번역
- 요약 등
- 고해상도 이미지 생성
- 제너레이티브 AI 모델의 추론

 

직접 사용 체험

- (Hugging Face또 하나의 변화) 2023.10.3일 Google은 Hugging Face Diffusion team의 도움을 받아 Hugging Face Spaces에 초고속 SDXL 추론앱을 출시하였음

 

(1) Hugging Face Spaces - Stable Diffusion XL on TPU v5e

 

(2) 데모 Application (실습 가능)

 

 

https://huggingface.co/spaces/google/sdxl

 

Stable Diffusion XL on TPUv5e - a Hugging Face Space by google

 

huggingface.co

 

 

유투브

https://youtu.be/ATzUl_wIyU4

 

해외금융계좌 신고제도

 

1. 해외금융계좌 신고제도란?

- 거주자 또는 내국법인이 보유하고 있는

- 해외금융계좌 잔액(현금·주식·채권·펀드·보험・가상자산 등 모든 자산)의 합이 해당연도 매월 말일 중 어느 하루라도 5억원을 초과하는 경우

- 그 금융계좌의 정보를 다음 연도 6월 1일부터 30일까지

- 납세지 관할 세무서에 신고하는 제도임

 

2. 도입 배경

국내자본의 불법적인 해외유출과 역외소득탈루를 사전에 억제하고자 해외금융계좌 신고제도를 도입하여 2011년 처음으로 시행함

 

[참고] 관련 법령

국제조세조정에 관한 법률 제52조~제57조, 제62조 국제조세조정에 관한 법률 시행령 제92조~제97조, 제102조

국세기본법 제84조의2, 제85조의5, 같은 법 시행령 제65조의4, 제66조

 

3. 신고의무 위반자에 대한 제재

○ (과태료) 미(과소)신고금액의 10% ~ 20%(20억 원 한도)

○ (소명의무) 미(과소)신고금액에 대한 출처 미소명 또는 거짓 소명시, 미(거짓) 소명금액의 20% 과태료 추가 부과

○ (명단공개) 미(과소)신고금액이 50억 원을 초과하는 경우 인적사항 등 공개

○ (형사처벌) 미(과소)신고금액이 50억 원을 초과하는 경우 통고처분이나 2년 이하의 징역 또는 미(과소)신고금액의 13% 이상 20% 이하의 벌금(병과가능)

 

4. 2023년 가상자산계좌 첫 신고

2023년 신고부터 

○ 해외금융회사에 국외에 소재하는 「특정금융정보법」상 가상자산사업자 및 이와 유사한 사업자가 추가되었음.

○ 신고대상 해외금융계좌에 「특정금융정보법」상 가상자산 및 이와 유사한 자산의 거래를 위하여 개설한 계좌가 포함되어 2023.6월에 최초로 신고하여야 함.

 

해외금융계좌 및 가상자산 신고 현황

 

1. 2023년 신고 실적?

(신고 결과) 올해 해외금융계좌 신고실적5,419, 186.4조 원으로 지난해 비교하여 신고인원(1,495, 38.1%)신고금액(122.4조 원, 191.3%) 모두 큰 폭으로 증가하였음

올해 신고인원과 신고금액이 최대 실적기록이유해외 가상자산계좌최초신고대상포함되었기 때문임

  올해부터 신고대상에 포함된 가상자산계좌첫 신고임에도 불구하고 개인·법인 신고자 1,432 130.8조 원신고하면서 전체 신고자산 가장 많은 금액(전체 신고금액 대비 70.2%)신고됨

 

  ’22~’23년 전체 신고자의 신고자산별 현황
  (, , 조 원)
연도 구 분 전체
(순인원)
가상
자산
가상자산 외 신고대상 해외금융계좌
·적금 주식 집합
투자증권
파생
상품
기타
’23 신고인원 전체 5,419 1,432 2,942 1,590 251 100 593
개인 4,565 1,359 2,192 1,510 225 66 541
법인 854 73 750 80 26 34 52
신고금액 전체 186.4 130.8 22.9 23.4 5.2 2.1 2.0
개인 24.3 10.4 5.0 5.2 1.4 0.8 1.5
법인 162.1 120.4 17.9 18.2 3.8 1.4 0.4
’22 신고인원 전체 3,924 - 2,489 1,692 208 81 512
개인 3,177 - 1,801 1,621 185 53 469
법인 747 - 688 71 23 28 43
신고금액 전체 64.0 - 22.3 35.0 3.5 1.4 1.8
개인 22.4 - 4.3 15.8 0.5 0.2 1.6
법인 41.6 - 18.0 19.1 3.1 1.2 0.2

 

2. 신고자산별 분석

(’23 신고 결과) 가장 많이 신고된 상위 3개 해외금융계좌 유형

- 신고인원(5,419) 기준으로 ·적금(2,942), 주식(1,590), 가상자산(1,432),

- 신고금액(186.4조 원) 기준으로 가상자산(130.8조 원), 주식(23.4조 원), ·적금(22.9조 원) 나타남.

올해부터 신고대상에 포함된 가상자산계좌에 대하여 개인·법인 신고자 1,432 130.8조 원신고하면서 전체 신고자산 중 가장 큰 금액(전체 신고금액 대비 70.2%)차지함.

 

 

3. 연령대별 가상자산 신고현황

(가상자산) 해외 가상자산계좌를 신고한 개인신고자 연령대별 보유현황을 보면

- 신고인원 비율로는 30(40.2%), 40(30.2%), 50(14.1%) 으로 높았음

- 신고금액 비율30(64.9%), 20대 이하(14.7%), 40(12.7%) 으로 높았음

1인당 평균 신고금액은 30(123.8억 원), 20대 이하(97.7억 원), 50(35.1억 원) 으로 높았음

’23년 연령대별 가상자산 신고자 신고현황
(, %)
구분 인원 인원 비율 신고금액 금액 비율 1인당 평균 신고금액
20대 이하 157 11.6 15,343 14.7 97.7
30 546 40.2 67,593 64.9 123.8
40 411 30.2 13,180 12.7 32.1
50 192 14.1 6,738 6.5 35.1
60대 이상 53 3.9 1,296 1.2 24.4
합 계 1,359 100.0 104,150 100.0 76.6

 

[참고] 해외금융계좌 신고제도 관리계획

국세청은 올해 말까지 국가 간 정보교환 자료, 외환 자료, 유관 기관 통보자료 등을 종합하여 해외금융계좌 미신고 혐의자철저히 검증하여 과태료 부과, 범칙처분, 명단공개 및 관련 세금 추징 등을 엄정집행 예정이라고 함

특히, 가상자산을 통한 잠재적인 세원 잠식 위험성에 대응하기 위해 국세청을 포함한 전 세계 과세당국도입추진 중가상자산 거래내역 등의 정보교환 보고 규정(CARF*)에 따라 정보교환준비 중이라고 함

* 암호화 자산 보고 규정(Crypto Asset Reporting Framework)

 

 

 

 

 

 

 

 

 

 

 

 

 들어가며

프로그래밍 등을 하다 보면 변수, 함수 등에 대한 이름을 정할 때마다 어떻게 하나 하는 고민이 항상 있습니다. 저 또한 처음에는 솔직히 편한데로 한 경우가 많습니다. 프로그래밍에서 변수, 함수, 클래스 등의 이름을 지을 때 사용하는 "Naming Convention (네이밍 컨벤션)"은 코드의 가독성과 유지 보수에 큰 영향을 미칩니다. 이번 글에서는 네이밍 컨벤션의 종류와 각각의 특징, 사용 사례에 대해 알아보겠습니다.

 

 네이밍 컨벤션의 중요성

프로그래밍에서 공백은 예약된 문자로, 변수나 함수의 이름에 공백을 사용할 수 없습니다. 예를 들어, `number of donuts`라는 변수명을 직접 사용할 수 없으며, 이를 연결해주는 네이밍 컨벤션을 사용해 `numberOfDonuts` `number_of_donuts`와 같이 표현해야 합니다.

 

네이밍 컨벤션의 종류 

 

1. Snake Case

Snake case는 각 단어를 언더스코어(_)로 연결하는 방식입니다. 모든 문자는 소문자로 표현됩니다. Python과 데이터베이스에서 주로 사용됩니다.

예시:

# python

user_name = "Alice"
total_amount = 100

 

2. Kebab Case

Kebab case는 각 단어를 하이픈(-)으로 연결하는 방식입니다. 주로 URL에서 사용됩니다.

 

 

예시:

my-website.com/user-profile

 

3. Camel Case

Camel case는 첫 단어를 소문자로, 그 이후의 단어는 첫 글자를 대문자로 표현하는 방식입니다. Java, JavaScript에서 주로 사용됩니다.

예시:

//javascript

let userName = "Alice";
let totalAmount = 100;

 

4. Pascal Case

Pascal case Camel case와 유사하지만, 첫 단어도 대문자로 시작합니다. 클래스 이름에 주로 사용됩니다.

 

 예시:

public class UserProfile
{

    // ...

}

 

네이밍 컨벤션의 선택 

네이밍 컨벤션의 선택은 사용하는 프로그래밍 언어와 프로젝트의 규모, 팀 내의 합의 등에 따라 달라질 수 있습니다. 중요한 것은 일관성을 유지하는 것입니다.

 

예제: Python에서의 네이밍 컨벤션

 Python에서는 PEP 8이라는 스타일 가이드에 따라 주로 snake case를 사용합니다. 하지만 클래스 이름에는 Pascal case를 사용하는 등의 규칙이 있습니다.

 

예시:

# python

# 변수와 함수 이름에는 snake_case 사용

user_name = "Alice"

def get_user_profile():

    pass

 
# 클래스 이름에는 PascalCase 사용

class UserProfile:

    pass

 

 마무리

네이밍 컨벤션은 코드의 가독성을 높이고, 팀원 간의 협업을 용이하게 만들어줍니다. 각각의 네이밍 컨벤션에는 그에 맞는 사용처와 규칙이 있으므로, 상황에 따라 적절한 네이밍 컨벤션을 선택하여 사용하는 것이 좋습니다.

이 글을 통해 여러분도 네이밍 컨벤션의 중요성과 사용 방법에 대해 알게 되셨길 바랍니다. 행복한 코딩 되세요!

 

동영상

https://youtu.be/R8AfnsdiC-M?si=A41lD27kxmOkiVRL 

 

[참고] 기타 요약

프로그래밍 언어/분야 네이밍 컨벤션 예시 설명
일반/DB Snake
Case
snake_case_naming_convention 모든 문자를 소문자로 작성하고 단어 사이에 언더스코어(_)를 사용합니다. 주로 DB에서 사용됩니다.  
JAVA Camel
Case
camelCaseNamingConvention 첫 번째 단어를 제외하고 각 단어의 첫 글자를 대문자로 작성합니다. 주로 변수와 함수명에 사용됩니다.  
C++ Pascal
Case
PascalCaseNamingConvention 모든 단어의 첫 글자를 대문자로 작성합니다. 주로 클래스명에 사용됩니다.  
HTML, CSS Kebab
Case
kebab-case-naming-convention 모든 문자를 소문자로 작성하고 단어 사이에 하이픈(-)을 사용합니다.  
상수 표현 Scream
Snake
Case
SCREAM_SNAKE_CASE_EXAMPLE 모든 문자를 대문자로 작성하고 단어 사이에 언더스코어(_)를 사용합니다.  

생활 업종에 있어 창업 및 있어 관련 상권에 대한 정보 파악은 필수 정보입니다. 그리고 그러한 정보가 전국에 대하여 시각적으로도 쉽게 활용할 수 있다면 정말 도움이 될 수 있을 것입니다. 

이러한 정보가 국세청에 의하여 제공되기 시작하였습니다. 

 

https://youtu.be/WT92l_mYgdU

 

- YouTube

 

www.youtube.com

 

 

 

 

 

 

 

추석 명절을 맞이하여 파이썬을 이용하여 보름달 맞이와 함께 매일 변하는 달의 모습을 관측해보겠습니다.

추석 명절 잘 보내세요.

 

관련 영상

https://youtu.be/WkIPoKp5XzY

 

관련 코드

 

[Python] 파이썬을 이용한 한가위 보름달 (Full moon) 맞이.ipynb
1.24MB

각종 사진이나 이미지에서 배경을 제거하고 싶은 경우가 종종 있습니다. 이런 파이썬을 이용하여 몇 줄 안되는 작업으로 정말 쉽게 제거가 가능합니다. 

 

https://youtu.be/GeBy91KPaRA

https://youtu.be/FCjXop153Rk

트랜스포머에서의 Attention 시각화: BERT를 활용한 실습

 

1. 트랜스포머와 Attention
트랜스포머는 자연어 처리 분야에서 중요한 아키텍처입니다. 그리고 그 핵심은 'Attention' 메커니즘입니다.
Attention은 입력 데이터의 중요한 부분에 '주의'를 기울이게 하는 방법으로, 문장의 다양한 구문적 및 의미적 관계를 동시에 학습할 수 있게 해줍니다.

 

2. Attention 시각화의 중요성
Attention 메커니즘의 작동 방식을 직관적으로 이해하는 것은 복잡할 수 있습니다. 따라서, 시각화 도구를 사용하여 모델이 어떤 부분에 주의를 기울이는지 직관적으로 파악하는 것이 필요합니다.

3. BERT와 bertviz
BERT는 트랜스포머 아키텍처를 기반으로 한 모델로, 다양한 NLP 작업에서 뛰어난 성능을 보여주고 있습니다.
bertviz는 BERT의 Attention 메커니즘을 시각화하기 위한 도구로, BERT 모델이 주어진 입력에 대해 어떻게 '주의'를 기울이는지 시각적으로 확인할 수 있게 해줍니다.

4. 실습: Hugging Face의 Transformer와 bertviz 연동하여 Attention 시각화
Hugging Face의 Transformer 라이브러리는 BERT와 같은 다양한 모델을 쉽게 사용할 수 있게 해줍니다. 그리고 bertviz와 함께 사용하면, 다음과 같은 단계로 Attention을 시각화할 수 있습니다:

실습 

https://youtu.be/3MkjgwVGbw4

 

+ Recent posts