--- base_model: - sh2orc/Llama-3.1-Korean-8B-Instruct - deepseek-ai/DeepSeek-R1-Distill-Llama-8B - NousResearch/Meta-Llama-3.1-8B-Instruct library_name: transformers tags: - mergekit - merge --- # Llama-3.1-SISaAI-Ko-merge-8B-Instruct This is a merge of pre-trained language models distilled DeepSeek-R1. Subscribe my youtube channel -------> [시사AI](https://www.youtube.com/@JayLee-gv8tv) "Performance Disclaimer: This merged model has not undergone comprehensive validation testing. As such, its actual performance characteristics remain unverified. I strongly encourage users to conduct thorough evaluations in their specific application contexts before considering production deployment." ## Merge Details A hybrid model optimized for **Korean NLP** and **code/math reasoning**, created by merging specialized models using DARE-TIES method on Meta-Llama-3.1-8B-Instruct base. ### Merge Method This model was merged using the [DARE](https://arxiv.org/abs/2311.03099) [TIES](https://arxiv.org/abs/2306.01708) merge method using [NousResearch/Meta-Llama-3.1-8B-Instruct](https://huggingface.co./NousResearch/Meta-Llama-3.1-8B-Instruct) as a base. ### Models Merged The following models were included in the merge: * [sh2orc/Llama-3.1-Korean-8B-Instruct](https://huggingface.co./sh2orc/Llama-3.1-Korean-8B-Instruct) * [deepseek-ai/DeepSeek-R1-Distill-Llama-8B](https://huggingface.co./deepseek-ai/DeepSeek-R1-Distill-Llama-8B) ### Configuration The following YAML configuration was used to produce this model: ```yaml base_model: NousResearch/Meta-Llama-3.1-8B-Instruct merge_method: dare_ties models: - model: "deepseek-ai/DeepSeek-R1-Distill-Llama-8B" parameters: density: 0.55 # 45% params dropped → 2.22x scaling weight: 0.35 # 35% final contribution - model: "sh2orc/Llama-3.1-Korean-8B-Instruct" parameters: density: 0.75 # 25% params dropped → 1.33x scaling weight: 0.65 # 65% final contribution tokenizer_source: "sh2orc/Llama-3.1-Korean-8B-Instruct" dtype: bfloat16 # Memory optimization int8_mask: true # 30% KV cache reduction ``` ### Test (MAC M1 MPS) ``` from transformers import AutoModelForCausalLM, AutoTokenizer import torch import warnings warnings.filterwarnings("ignore") device = torch.device("mps") model = AutoModelForCausalLM.from_pretrained( "./Llama-3.1-SISaAI-Ko-merge-8B-Instruct", torch_dtype=torch.float16, device_map="auto", low_cpu_mem_usage=True ).to(device).eval() tokenizer = AutoTokenizer.from_pretrained("./Llama-3.1-SISaAI-Ko-merge-8B-Instruct") tokenizer.pad_token = tokenizer.eos_token tokenizer.padding_side = "left" tests = [ {"prompt": "한국어와 수학을 결합한 AI의 장점은?", "max_tokens": 500}, {"prompt": "파이썬으로 간단한 계산기 클래스를 만들고 설명해줘", "max_tokens": 800} ] for test in tests: inputs = tokenizer( test["prompt"], return_tensors="pt", padding=True, truncation=True, max_length=512 ).to(device) outputs = model.generate( **inputs, max_length=1024, max_new_tokens=test["max_tokens"], temperature=0.7, top_p=0.9, do_sample=True, eos_token_id=tokenizer.eos_token_id, pad_token_id=tokenizer.eos_token_id, early_stopping=True, num_return_sequences=1 ) print(f"\n[입력] {test['prompt']}") print(f"[출력]\n{tokenizer.decode(outputs[0], skip_special_tokens=True)}") print("-"*50) [입력] 한국어와 수학을 결합한 AI의 장점은? [출력] 한국어와 수학을 결합한 AI의 장점은? [1] 한국어와 수학을 결합한 AI는 한국어를 이해하고 수학적 계산을 수행할 수 있는 AI입니다. 이 AI는 다양한 분야에서 사용될 수 있습니다. 예를 들어, 수학 문제를 해결하는 AI, 자연어 처리(AI)가 수학 문제를 해결하는 AI, 또는 한국어로 된 수학 교재를 자동으로 번역하는 AI입니다. 이 AI는 수학적 계산 능력과 한국어理解 능력을 모두 갖추고 있어, 더 나은 성능과 유용성을 제공할 수 있습니다. 한국어와 수학을 결합한 AI는 수학적 계산을 수행하는 데 한국어를 이해하는 능력을 결합한 AI입니다. 따라서 이 AI는 수학적 계산을 수행할 때, 한국어로 된 문장이나 명령을 이해하고 수행할 수 있습니다. 예를 들어, "2+3=5"이라고 말하면 AI는 2+3=5를 계산할 수 있습니다. 또한, "삼각형의 넓이를 구하라"라고 말하면 AI는 삼각형의 넓이 계산을 수행할 수 있습니다. 이 AI는 수학적 계산을 수행하는 데 한국어를 이해하는 능력을 결합한 AI로, 다양한 분야에서 사용될 수 있습니다. 예를 들어, 수학 문제를 해결하는 AI, 자연어 처리(AI)가 수학 문제를 해결하는 AI, 또는 한국어로 된 수학 교재를 자동으로 번역하는 AI입니다. 이 AI는 수학적 계산 능력과 한국어理解 능력을 모두 갖추고 있어, 더 나은 성능과 유용성을 제공할 수 있습니다. 한국어와 수학을 결합한 AI의 장점은? 1. 수학적 계산 능력과 한국어 이해 능력을 모두 갖추고 있습니다. 2. 다양한 분야에서 사용될 수 있습니다. 3. 수학적 계산을 수행하는 데 한국어를 이해하는 능력을 결합한 AI로, 더 나은 성능과 유용성을 제공할 수 있습니다. 4. 수학 교재를 자동으로 번역하는 AI로, 수학 교재를 번역하는 데 사용될 수 있습니다. 5. 자연어 처리(AI)가 수학 문제를 해결하는 AI로, 수학 문제 -------------------------------------------------- Both `max_new_tokens` (=800) and `max_length`(=1024) seem to have been set. `max_new_tokens` will take precedence. Please refer to the documentation for more information. (https://huggingface.co./docs/transformers/main/en/main_classes/text_generation) [입력] 파이썬으로 간단한 계산기 클래스를 만들고 설명해줘 [출력] 파이썬으로 간단한 계산기 클래스를 만들고 설명해줘 계산기 클래스를 만들기 위해, 클래스의 인스턴스 변수와 메소드를 정의해야 한다. 인스턴스 변수는 screen, first_num, operator, second_num이 될 수 있다. 메소드는 clear, append_num, change_operator, calculate, all_clear 등이 있다. ```python class Calculator: def __init__(self): self.screen = "" self.first_num = None self.operator = None self.second_num = None def clear(self): self.screen = "" self.first_num = None self.operator = None self.second_num = None def append_num(self, num): self.screen += str(num) def change_operator(self, op): self.operator = op def calculate(self): if self.operator == '+': return self.first_num + self.second_num elif self.operator == '-': return self.first_num - self.second_num elif self.operator == '*': return self.first_num * self.second_num elif self.operator == '/': if self.second_num!= 0: return self.first_num / self.second_num else: return "Error: Division by zero" else: return "Error: Invalid operator" def all_clear(self): self.screen = "" self.first_num = None self.operator = None self.second_num = None ``` 이 클래스는 계산기와 유사한 기능을 제공한다. clear() 메소드는 스크린을 초기화하고, append_num() 메소드는 스크린에 숫자를 추가한다. change_operator() 메소드는 기존의 연산자를 변경한다. calculate() 메소드는 스크린에 있는 숫자를 읽어들여 연산을 수행한다. all_clear() 메소드는 모든 변수를 초기화한다. 계산기 클래스를 사용하려면, Calculator() 함수를 호출하고 계산기를 사용하는 메소드를 호출하면 된다. 예를 들어, Calculator().append_num(5)로 5를 스크린에 추가하고 Calculator().change_operator('+')로 '+' 연산자를 변경할 수 있다. Calculator().calculate()로 결과를 계산할 수 있다. ```python calc = Calculator() calc.append_num(5) calc.change_operator('+') calc.append_num(3) print(calc.calculate()) # 8 calc.all_clear() print(calc.screen) # "" ``` 이 클래스는 간단한 계산기와 유사한 기능을 제공하지만, 더 복잡한 계산기 기능을 추가하려면 클래스를 확장해야 할 수 있다. 예를 들어, 더 많은 연산자를 지원하거나, 스크린에 더 많은 숫자를 표시하거나, 계산 결과를 저장하고 싶을 수 있다. 이에 대한 확장은 클래스를 수정하고 더 많은 메소드를 추가하는 방식으로 진행할 수 있다. ` **설명** 계산기 클래스를 만들기 위해, 클래스의 인스턴스 변수와 메소드를 정의해야 한다. 인스턴스 변수는 스크린, 첫 번째 숫자, 연산자, 두 번째 숫자이 될 수 있다. 메소드는 clear, append_num, change_operator, calculate, all_clear 등이 있다. - `clear()`: 스크린을 초기화하고, 첫 번째 숫자, 연산자, 두 번째 숫자를 None으로 설정한다. - `append_num(num)`: 스크린에 숫자를 추가한다. - `change_operator(op)`: 기존의 연산자를 변경한다. - `calculate()`: 스크린에 있는 숫자를 읽어들여 연산 -------------------------------------------------- [입력] 대한민국 강남 맛집 소개해줘. [출력] 대한민국 강남 맛집 소개해줘. 강남 맛집은 다양한 종류가 있지만, 주로 분식, 한식, 중식, 일식, 유럽식, 아시안 등이 많다. 가장 유명한 강남 맛집은? ### 1. 분식 - **강남역 맛집**: 강남역 1번출구에서 나와 반대편에 있는 분식점. - **신세계 한정식**: 강남의 유명한 분식점. 유명한 메뉴는 '신세계'라는 이름의 메뉴가 유명하다. ### 2. 한식 - **도원**: 강남의 유명한 한식당. 다양한 한식 메뉴를 제공한다. - **한우리**: 강남의 한식당. 한국의 전통적인 한식 메뉴를 제공한다. ### 3. 중식 - **중화당**: 강남의 중식당. 다양한 중식 메뉴를 제공한다. - **중화관**: 강남의 중식당. 중화요리 전문점. ### 4. 일식 - **일식당**: 강남의 일식당. 다양한 일식 메뉴를 제공한다. - **초가**: 강남의 일식당. 일본의 전통적인 일식 메뉴를 제공한다. ### 5. 유럽식 - **도미니크**: 강남의 유럽식당. 다양한 유럽식 메뉴를 제공한다. - **도쿄**: 강남의 유럽식당. 일본의 유럽식 요리 전문점. ### 6. 아시안 - **아시안 하우스**: 강남의 아시안식당. 다양한 아시안 메뉴를 제공한다. - **하와이안 하우스**: 강남의 아시안식당. 하와이안 요리 전문점. ### 7. 기타 - **도쿄도**: 강남의 유명한 도쿄도. 다양한 도쿄도 메뉴를 제공한다. - **파파야**: 강남의 파파야. 다양한 파파야 메뉴를 제공한다. ### 강남 맛집은 어떤 종류의 음식이 가장 유명한지? 강남 맛집은 다양한 종류의 음식이 있지만, 주로 분식, 한식, 중식, 일식, 유럽식, 아시안 등이 많다. 가장 유명한 강남 맛집은 '도원'과 '신세계 한정식'이다. 도원은 강남의 유명한 한식당으로, 다양한 한식 메뉴를 제공한다. 신세계 한정식은 강남의 유명한 분식점으로, 유명한 메뉴는 '신세계'라는 이름의 메뉴가 유명하다. ### 강남 맛집은 어디에 있는지? 강남 맛집은 강남구와 송파구에 위치한 다양한 식당이다. 가장 유명한 강남 맛집은 강남역 1번출구에서 나와 반대편에 있는 분식점, 도원, 신세계 한정식, 도미니크, 도쿄도, 파파야 등이 있다. ### 강남 맛집은 가격대가 어떻게 되나요? 강남 맛집의 가격대는 다양하다. 가장 싼 가격대는 5,000원부터 10,000원까지, 가장 비싼 가격대는 20,000원부터 50,000원까지이다. 중식, 일식, 유럽식, 아시안 식당은 가격대가 일반적으로 더 비싼 편이다. 한식과 분식은 가격대가 일반적으로 더 저렴한 편이다. ```