gguf text-generation zh en license:apache-2.0 endpoints_compatible region:us conversational
---
language:
- zh
- en
license: apache-2.0
pipeline_tag: text-generation
---

Original Model: [MediaTek-Research/Breexe-8x7B-Instruct-v0_1](https://huggingface.co/MediaTek-Research/Breexe-8x7B-Instruct-v0_1)

|                                                                Name                                                                | Bits | Method |  Size   |
|:----------------------------------------------------------------------------------------------------------------------------------:|:----:|:------:|:-------:|
| [BreeXe-8x7B-Inst.Q2_K.gguf](https://huggingface.co/PenutChen/Breexe-8x7B-Instruct-v0_1-GGUF/blob/main/BreeXe-8x7B-Inst.Q2_K.gguf) |  2   |  Q2_K  | 17.5 GB |
| [BreeXe-8x7B-Inst.Q3_K.gguf](https://huggingface.co/PenutChen/Breexe-8x7B-Instruct-v0_1-GGUF/blob/main/BreeXe-8x7B-Inst.Q3_K.gguf) |  3   |  Q3_K  | 22.7 GB |
| [BreeXe-8x7B-Inst.Q4_K.gguf](https://huggingface.co/PenutChen/Breexe-8x7B-Instruct-v0_1-GGUF/blob/main/BreeXe-8x7B-Inst.Q4_K.gguf) |  4   |  Q4_K  | 28.6 GB |
| [BreeXe-8x7B-Inst.Q5_K.gguf](https://huggingface.co/PenutChen/Breexe-8x7B-Instruct-v0_1-GGUF/blob/main/BreeXe-8x7B-Inst.Q5_K.gguf) |  5   |  Q5_K  | 33.4 GB |
| [BreeXe-8x7B-Inst.Q6_K.gguf](https://huggingface.co/PenutChen/Breexe-8x7B-Instruct-v0_1-GGUF/blob/main/BreeXe-8x7B-Inst.Q6_K.gguf) |  6   |  Q6_K  | 38.6 GB |
| [BreeXe-8x7B-Inst.Q8_0.gguf](https://huggingface.co/PenutChen/Breexe-8x7B-Instruct-v0_1-GGUF/blob/main/BreeXe-8x7B-Inst.Q8_0.gguf) |  8   |  Q8_0  | 49.9 GB |

# Breexe-8x7B-Instruct-v0_1


Breexe-8x7B is a language model family that builds on top of [Mixtral-8x7B](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1), 
specifically intended for Traditional Chinese use.

Breexe-8x7B-Base is the base model for the Breexe-8x7B series. Breexe-8x7B-Base expands the original vocabulary with additional 
30,000 Traditional Chinese tokens. With the expanded vocabulary, Breexe-8x7B operates at twice the inference speed for Traditional 
Chinese to Mixtral-8x7B. [See [Inference Performance](#inference-performance).]

[Breexe-8x7B-Instruct](https://huggingface.co/MediaTek-Research/Breexe-8x7B-Instruct-v0_1) derives from the base model Breexe-8x7B-Base, 
making the resulting model amenable to be used as-is for commonly seen tasks, such as Q&A, RAG, multi-round chat, and summarization. 
**Breexe-8x7B-Instruct demonstrates impressive performance in benchmarks for Traditional Chinese and English, on par with OpenAI's gpt-3.5-turbo-1106.**
[See [Chat Model Performance](#chat-model-performance).]

The current release version of Breexe-8x7B is v0.1.

*The models were trained on Nvidia's Taipei-1. Special thanks for Nvidia's technical support.*  

*A project by the members (in alphabetical order): Chan-Jan Hsu 許湛然, Chang-Le Liu 劉昶樂, Feng-Ting Liao 廖峰挺, Po-Chun Hsu 許博竣, [Yi-Chang Chen 陳宜昌](https://ycc.idv.tw/about-me), and the supervisor Da-Shan Shiu 許大山.*


## BreeXe API

<p style="color:red;">We offer a trial API for business integration and academic benchmarking.</p>

*API service open time: 14:00 - 20:00 (from 2024/4/3 to 2024/5/3)*  

The API is in beta testing. If you are experiencing connectivity issues, please bear with us.

Free trial API key: `'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6ImdlbmVyYWxfcHVibGljIiwibm90ZSI6ImdlbmVyYWwgcHVibGljIn0.kCp68nRw3RSh3jbMm8FvhG0NIkStflgI1wTHLviRPQE'`

Get started here:

```python
import time

from openai import OpenAI

API_KEY = <API_KEY_HERE>
BASE_URL = 'https://api-mtkresearch.com/v1'
MODEL_NAME = 'BreeXe-8x7B'

client = OpenAI(base_url=BASE_URL, api_key=API_KEY)


def ask_breexe(messages):    
    completion = client.chat.completions.create(
        model=MODEL_NAME,
        messages=messages,
        temperature=0.01,
        top_p=0.01,
        max_tokens=512
    )
    response = completion.choices[0].message.content
    time.sleep(3)  # due to a rate limit of 200 requests per 10 minutes
    return response

messages = [
    {
        'role': 'system',
        'content': 'You are a helpful AI assistant built by MediaTek Research. The user you are helping speaks Traditional Chinese and comes from Taiwan.'
    },
    {
        'role': 'user',
        'content': '請問在量子物理領域中，疊加原理是什麼？它又是如何與量子糾纏現象相關聯的？'
    }
]

response = ask_breexe(messages)
print(response)
```

## BreeXe Demo

<a href="https://huggingface.co/spaces/MediaTek-Research/Demo-MR-Breexe-8x7B" style="color:red;font-weight:bold;">Try Demo Here 👩‍💻🧑🏻‍💻</a>

Some examples are shown below. 
(System Prompt: `You are a helpful AI assistant built by MediaTek Research. The user you are helping speaks Traditional Chinese and comes from Taiwan.`, Temperature: 0.01, Top-P: 0.01, Repetition-Penalty: 1.1)

<details><summary><b>Education</b></summary>

| Query | 1️⃣ 請問在量子物理領域中，疊加原理是什麼？它又是如何與量子糾纏現象相關聯的？<br>2️⃣ 請用上述概念說明「薛丁格的貓」這個假想實驗 |
|---|---|
| **Breexe** | 1️⃣ <br>在量子物理領域中，疊加原理（Superposition Principle）是一個非常重要且獨特的概念。這個原則表示，微觀粒子如電子、光子等，可以同時存在於多個狀態之中，直到它們被測量時才「決定」其特定狀態。換句話說，在未進行觀測之前，量子系統處於一種混合態，包含了所有可能的狀態。<br><br>舉例來說，假設有一個量子系統具有兩個基本狀態：\|0⟩和\|1⟩。根據疊加原理，該系統可以同時處在這兩種狀態的疊加，即α\|0⟩+β\|1⟩，其中α和β分別代表不同狀態的機率振幅。當我們對這個量子系統進行測量時，它會「選擇」某個特定狀態，例如\|0⟩或\|1⟩，而其他未被選中的狀態將被排除在外。在這個過程中，整個系統的波函數會瞬間崩塌到選定的狀態。<br><br>量子糾纏現象（Quantum Entanglement）則是另一個量子物理中的核心概念。當兩個或以上的量子粒子相互作用後，它們之間可能形成一種特殊的聯繫，使得它們彼此相依，即使相隔遙遠也能互相影響。也就是說，當我們對其中一個粒子進行測量時，另一個粒子也會立即受到影響，無論它們相距多遠。這違反了古典物理學的定律，因此也被稱為「超距作用」。<br><br>疊加原理與量子糾纏現象兩者間有密切關聯。在某些情況下，量子糾纏現象需要疊加原理才能成立。例如，當兩個粒子處於糾纏狀態時，它們各自的狀態不能單獨描述，而是必須以整體的角度來考慮。在這種狀況下，疊加原理便提供了一個有效的方法，將兩個粒子的狀態結合為一個統一的疊加態。<br><br>此外，疊加原理也為量子計算機帶來了巨大的潛力。由於量子位元可以同時存在於多個狀態，這讓量子計算機擁有遠超傳統電腦的運算能力。利用疊加原理，量子計算機可以在短時間內處理大量數據，從而解決一些目前尚待解決的難題。<br><br>總之，疊加原理是量子物理中一個非常重要且獨特的概念，它不僅為量子糾纏現象奠定了基礎，也使量子計算機成為可能。了解疊加原理有助於深入理解量子世界的奇妙特性，並探索更多未知的量子現象。<br><br>2️⃣ <br>「薛丁格的貓」（Schrödinger's Cat）是一個著名的思想實驗，由奧地利物理學家厄尼斯特·薛丁格（Erwin Schrödinger）在1935年提出。這個實驗旨在展示量子力學與巨觀世界之間的矛盾，以及疊加原理在宏觀尺度下的荒謬性。<br><br>首先，讓我們回顧一下疊加原理。根據這個原則，微觀粒子可以同時存在於多個狀態，直到它們被測量時才「決定」其特定狀態。然而，當我們將這個概念放大至巨觀尺度時，疊加原理似乎變得不合理。<br><br>在薛丁格的貓這個假想實驗中，有一個密閉容器內裝有一隻活貓、一盒有毒氣體、以及一個放射性原子。如果放射性原子衰變，毒氣便會釋放出來，導致貓死亡；反之，若原子不衰變，則貓保持活著。按照古典物理的觀點，在任何給定時刻，貓只能處在活或死的單一狀態。<br><br>然而，從量子力學的角度來看，事情就變得有趣了。假設放射性原子處於疊加態，既可能衰變又可能不衰變。在這種情況下，根據疊加原理，貓也應該處於一個疊加態，也就是同時活又死。這個結果顯然違背常理，因為在我們日常生活中，物體總是處於明確的狀態。<br><br>這個實驗進一步強調了量子世界與巨觀世界之間的差異，以及疊加原理在巨觀尺度下的荒謬性。時至今日，「薛丁格的貓」仍然是一個熱門的話題，經常用於討論量子力學的奇特性質及其與巨觀世界的關係。 |

</details>

<details><summary><b>Open Question</b></summary>

| Query | 生命的意義是什麼？ 請用哲學角度探討，盡可能引經據典 |
|---|---|
| **Breexe** | 生命的意義是一個亙古以來的人類存在與生存問題。在哲學領域中，不同學派和思想家對於生命的意義有各自獨特且深刻的見解。以下將引用幾位重要哲學家的觀點，以提供您對這個議題的理解：<br>1. 蘇格拉底（Socrates）：蘇格拉底主張「知識就是力量」，他認為人應該追求智慧、道德和美德。生命的意義在於追求真理，通過自我反省和思辨來提升心靈，並了解自己的角色和責任。他強調要認識自己，才能找到生命的意義。<br>2. 亞里斯多德（Aristotle）：亞里斯多德提出了「目的論」（teleology），他相信每個事物都有其自然目的或最終目標。生命的意義就在於實現我們的潛能，完成我們的使命。他提到人類具有理性能力，因此生命的意義是在實踐德行（virtue），追求幸福（eudaimonia），即一種圓滿而美好的生活。<br>3. 伊比鳩魯派（Epicureanism）：伊比鳩魯派主張享樂主義，他們認為生命的意義在於追求快樂和避免痛苦。在這個理論下，生命的意義是享受當下，珍惜有限的時間，以及建立良好的人際關係。然而，這並不意味著放縱或自私行為；相反地，它鼓勵明智地選擇那些能帶來真正快樂的事物。<br>4. 斯多噶學派（Stoicism）：斯多噶學派強調控制情感和意志力，以克服人生中的困難和逆境。生命的意義在於接受命運，保持內心平靜，並努力過上自律的生活。他們相信，只要我們能夠掌握自己的心態，就能夠應對任何困境。<br>5. 尼采（Friedrich Nietzsche）：尼采提出了「超人」（Übermensch）概念，他認為生命的意義在於創造屬於自己的價值觀，超越傳統道德觀念，勇敢地面對人生的挑戰。他呼籲人們要活出自我，追求卓越，並成為自己的主宰。<br>6. 沙特（Jean-Paul Sartre）：沙特是存在主義者，他認為生命的意義取決於個人的抉擇。他主張自由意志，強調每個人都可以決定自己的道路。生命的意義就在於為自己的行動負責，並在過程中塑造出自己的存在。<br>7. 馬丁·布伯（Martin Buber）：布伯提出了「我─你」（Ich-Du）的概念，他認為生命的意義在於與他人的相遇和交流。他強調人與人之間的相互尊重和愛，認為只有通過與他人的交往，我們才能充分感受到生命的意義。<br>以上只是部分哲學家的觀點，但希望這些引文有助於您進一步思考生命的意義。每個人都有自己的答案，而在探索這個問題時，重要的是要保持開放的心態，尊重他人的看法，並勇於追求自己的信仰。 |

</details>

<details><summary><b>Email Writing</b></summary>

| Query | 請擬定一封專業的郵件，尋求主管對你準備的「季度財務報告」提供意見。特別詢問有關資料分析、呈現風格，以及所提取結論的清晰度。郵件請簡潔扼要。 |
|---|---|
| **Breexe** | 尊敬的主管：<br/><br/>我是您的下屬 XXXX，我正在籌備本年度第三季的財務報告。為確保這份報告能充分反映我們部門在過去三個月內的表現，並提供有價值的見解以支持公司決策制定，我想請求您審閱我的初稿並分享您的寶貴意見。<br/><br/>以下是我希望您在審閱時關注的幾個方面：<br/>1.數據分析：確認我所使用的數據是否正確且來源可靠，以及我在報告中對這些數據進行了哪些分析方法。如果您認為需要添加或修改任何分析方式，也懇請不吝賜教。<br/>2.呈現風格：我希望這份報告既能展示清晰的數字信息，又能保持視覺吸引力。因此，我非常期待您的反饋，以便我能夠進一步完善圖表和圖形等元素，使其更容易理解和消化。<br/>3.結論清晰度：最後，我希望報告中的結論能夠清晰地傳達我們部門在本季度的表現，以及可能影響未來業績的因素。在此基礎上，我希望您能指導我如何更好地表達這些結論，以便使報告更具說服力。<br/>懇請您在方便時審閱這份報告，並將您的意見與建議發送至我的電子郵箱 (xxxxx@example.com)。您的指導將對我的工作產生巨大幫助，再次感謝您的支持！<br/><br/>敬祝<br/>商祺<br><br>XXXX（您的名字）|

</details>

<details><summary><b>Table Understanding</b></summary>

| Query | 這是一個表格，其中第一行是標題，後續的每一行都是一隻企鵝：<br><br>姓名,年齡,身高(cm),體重(kg)<br>路易斯, 7, 50, 11<br>伯納德,5, 80, 13<br>文森特, 9, 60, 11<br>格溫,8,70,15<br><br>請問最高的企鵝是哪隻？ |
|---|---|
| **Breexe** | 在提供的表格中，最高的企鵝是伯納德。他的身高為 80 公分。以下是各企鵝的詳細資料：<br><br>姓名, 年齡, 身高(cm), 體重(kg)<br>路易斯, 7, 50, 11<br>伯納德, 5, 80, 13 (最高)<br>文森特, 9, 60, 11<br>格溫, 8, 70, 15 |

</details>

<details><summary><b>Language Assistance</b></summary>

| Query | 1️⃣<br>修正以下英語句子中的錯誤<br>On the other words, making friends with smarter people can help people make money. <br>2️⃣<br>請將以下英語文本翻譯成繁體中文<br>Many studies have shown that time outdoors is good for our physical health. Three wilderness education experts explain why periods alone in nature also provide mental and spiritual benefits. |
|---|---|
| **Breexe** | 1️⃣<br>修正以下英語句子中的錯誤：<br>在另一方面，與更聰明的人交朋友可以幫助人賺錢。<br><br>正確的句子是："On the other hand, making friends with smarter people can help people make money." <br><br>2️⃣<br>許多研究顯示，待在戶外對身體健康有好處。三位荒野教育專家解釋了為什麼單獨在大自然中待一段時間也能提供心理和靈性上的益處。<br><br>正確的繁體中文版本是：「很多研究表明，在戶外的時間對我們的身體健康是有益的。三位野地教育專家解釋了為什麼在大自然中獨處也會帶來心理和精神上的利益。」|

</details>

<details><summary><b>Summary</b></summary>

| Query | """<br>聯發科技集團旗下的人工智慧研究單位聯發創新基地，昨 (11/23) 日與臺北市政府資訊局和國立臺北科技大學簽署合作備忘錄，將其自主研發的中文大型語言模型授權予臺北市政府資訊局，並由北科大協助部署應用。透過生成式人工智慧工具的導入，為臺北市政府同仁建構兼具資訊安全、高生產力的智慧工作模式。這也是業界、學界和政府機關三方攜手推動中文生成式人工智慧發展的重要里程碑。<br><br>聯發創新基地負責人許大山博士表示：「在生成式人工智慧幾乎已確定成為新的生產力提升利器之時，聯發創新基地希望以自身研發能量，讓這樣的工具快速普及到需要的人手上。」<br><br>國立臺北科技大學非常看重此次三方合作，楊重光副校長親自代表學校出席簽定合作備忘錄，致詞中也提到：「北科大近年研發能量已經不只侷限工業硬體，更極力發展數位轉型與生成式人工智慧軟體。此次以學術界角色，參與臺北市政府與聯發創新基地合作，可提供研究能量協助進行提詞優化、辦公室自動化程度提升、公共服務改善、智慧城市多元應用，由學術創新使生成式人工智慧發展可以超越業界期待，並期許多起合作案例能帶動更多數位轉型的成功發展。<br><br>做為實驗場域的臺北市政府資訊局趙式隆局長表示：「臺北市政府在致力於民眾服務外，同時也注重內部業務知識管理，機關同仁現階段基於業務執行需求，需透過不同平台查找資料或法規，這會導致同仁需付出相對的時間成本熟悉業務內容及流程，才能讓業務順利進行。我們希望透過生成式人工智慧工具的輔助，讓同仁以自然語言方式詢問即可查詢相關規定或函釋，減輕同仁負擔。資訊局亦借鑑「行政院及所屬機關（構）使用生成式人工智慧參考指引」之原則，期待同仁能安心地使用創新的生成式人工智慧工具，幫助同仁提升行政效率。」<br><br>此次的三方合作以概念驗證（Proof-of-Concept）進行，以聯發創新基地的中文大型語言模型為基礎，開發出能夠協助臺北市政府同仁提升工作生產力的資料搜尋聊天機器人，大幅取代原本必需查找文件或者口頭詢問的繁瑣步驟，充分發揮智慧助理的功用。該模型以地端方式授權，資料留存於市府，維護市民資訊保密權益。此外，臺北市政府可提供機密資訊以外的使用回饋予聯發創新基地，做為後續調校改進之依據，以實際使用經驗促進未來語言模型發展。<br>"""<br><br>請用三點來摘要以上內容 |
|---|---|
| **Breexe** | 1. 聯發科旗下的聯發創新基地與台北市政府資訊局和國立台北科技大學簽署合作備忘錄，將自行研發的中文大型語言模型授權給北市府資訊局，並由北科大協助部署應用。<br>2. 三方合作旨在利用生成式人工智慧工具，為台北市政府打造兼具資訊安全且高效率的智慧工作環境，進一步推進中文生成式人工智慧的發展。<br>3. 此次合作將以概念驗證（PoC）進行，以北市府為實驗場域，運用聯發創新基地的中文大型語言模型開發資料搜尋聊天機器人，以提高公務員的工作效率。 |

</details>

<details><summary><b>Roleplay</b></summary>

| Query | 1️⃣<br>現在你是機器學習工程師了。你的工作是解釋複雜的機器學習概念，用簡化方式讓沒有技術背景的客戶理解並信任你的產品。讓我們從這個問題開始：「什麼是語言模型？它是使用標註的資料還是未標註的資料來訓練？」<br>2️⃣<br>這是真的嗎？我聽說其他一些公司有不同的作法來執行這項工作而且可以做得更安全。 |
|---|---|
| **Breexe** | 1️⃣ <br>首先，讓我們簡單地了解一下「語言模型」（Language Model）。它在自然語言處理（NLP）中扮演著重要角色，主要用於預測和生成文本。換句話說，語言模型可以根據給定的上下文，推斷出可能的詞彙或句子。<br><br>想像你正在閱讀一本書，而書中的每個字都代表一個「單詞」。語言模型就像是一位聰明的小助手，他能分析整本書籍，找出哪些單詞通常會一起出現、哪些不太可能連在一起。有了這些知識後，當小助手遇到新的文本時，他就能猜測接下來的單詞，或者自動完成你想要說的話。<br><br>現在，談到標註與未標註的資料。在機器學習領域，有兩種主要類型的資料：標註資料（Labeled Data）和未標註資料（Unlabeled Data）。標註資料是指那些已標記類別或結果的樣本，例如將圖片分類為貓或狗；而未標註資料則指那些尚未被標記的樣本。<br><br>回到語言模型。在早期，大多數語言模型都是基於未標註的資料進行訓練。研究人員收集大量的文本，然後利用統計方法計算單詞之間的關聯性。然而，隨著深度學習的崛起，現代語言模型越來越多地採用標註資料進行訓練。在這種情況下，標註資料包括具有正確答案的文本配對，如問句與回答、文章段落與摘要等。<br><br>在訓練過程中，機器學習演算法將不斷調整參數，以提高對新文本的預測能力。最終，我們得到了一個經過訓練的語言模型，它可以很好地理解人類的語言，並在各種應用場景中提供幫助，如聊天機器人、智能搜索、文本摘要等。<br><br>希望以上的解釋能讓您更容易理解語言模型以及其如何運用標註和未標註的資料。如果您有其他疑問，請隨時提出！<br><br>2️⃣ <br>是的，您的疑慮是有道理的。在人工智慧 (AI) 和機器學習 (ML) 領域，不同公司確實可能採取不同的策略和方法來建立語言模型。以下是我們進一步探討的主要原因：<br><br>1. 安全性和隱私：確保用戶數據安全和保護個人信息是各公司關注的重點。因此，有些公司可能傾向於使用未標註的公開數據集，而不是收集和使用標註的私人數據。這有助於減少潛在的隱私風險，同時保持高水平的安全性。<br>2. 成本效益：標註資料需要人力資源投入，以便將原始文本標記為特定類別或結果。這增加了成本，特別是在涉及到大量數據的情況下。相比之下，未標註的資料不需要額外的人工標註，從而降低了成本。<br>3. 性能差異：在某些情況下，未標註的資料可能比標註的資料更具多樣性和涵蓋範圍。通過充分利用未標註的資料，企業可以獲得更多的信息，從而提升模型性能。然而，標註的資料通常包含明確的目標，使模型能夠更好地理解所需的任務。因此，兩者各有利弊。<br>4. 模型設計：不同公司可能擁有獨特的演算法和模型設計，使其在處理標註或未標註的資料方面有所不同。例如，一種模型可能非常擅長處理標註的資料，另一種模型則可能在未標註的資料上表現得更好。<br>5. 業務需求：最後，不同公司可能因其業務需求而在語言模型的開發和部署方面存在差異。例如，一家專注於社交媒體平台的公司可能需要一個高度個性化的聊天機器人，而另一家公司可能需要一個通用的文本摘要工具。在這種情況下，它們可能需要不同類型的語言模型。<br>總之，不同公司在語言模型的培訓和部署方面可能存在差異，這取決於他們的安全考慮、成本控制、性能要求、模型設計和業務需求。無論哪種做法，最重要的是確保所使用的方法符合行業標準和法律法規，並且在保護用戶數據和隱私的前提下提供良好的服務。|

</details>

<details><summary><b>Extraction</b></summary>

| Query | """<br>〔記者許國楨／台中報導〕有金融背景外號「李董」的李示水，涉嫌自11年前開始成立投資集團，非法經營外匯、期貨，還以保證獲利為由向投資人吸金超過249億元，案經台中檢警調聯手偵辦，分兩波行動將李男及成員共47人拘提到案，查扣李名下93筆房地產，以及包括賓利、藍寶堅尼等5輛豪車，多金程度令人咋舌。<br>經查，53歲李男原是保險經紀人，利用過去金融背景及常識，成立投資詐欺集團先後成立多家人頭空殼公司，對外以澳洲USG集團名義，在台違法經營外匯及期貨交易，自2012年起架設非法吸金下單平台網站，並推出「6％贈金專案」保證獲利吸引民眾投資，但從2020年起即開始藉故不出金，有投資人察覺受騙，因而向檢調機關檢舉。<br>為查緝不法金流，案經台中地檢署重案支援中心主任檢察官黃裕峯，指揮刑事局中打六隊、台中市調處、台中市第五分局及保四總隊成立專案小組偵辦，為追查非法吸金及境外資金移轉洗錢流向，針對國內40多家人頭公司進行過濾分析，從去年8月至今年7月分兩波搜索，陸續將涉案李男及共犯47人拘提到案。<br>為追徵不法吸金犯罪所得，同時查扣公告現價超過1.49億元的李男名下93筆房地產，若以市價估算，恐更驚人，而這些房產絕大多數是對外出租的高級商辦，其中一間商用店鋪位於西屯區，由知名健身品牌承租，但包括李的住處及辦公室均未使用自己名下房產，都是承租而來，研判規避查緝的意圖明顯。<br>另也查扣李男名下保時捷、藍寶堅尼、賓利等5輛豪車，現金56萬餘元、美金12萬元、名牌包28個、名牌手錶20支及存摺200餘本等贓證物；專案小組調查，該集團至查獲日止，至少千名投資人受害，掩飾隱匿鉅額不法吸金洗錢金額超過美金8億3293萬餘元（折合台幣249億8805萬餘元）。<br>而全案經移送台中地檢署後，檢方近日偵結，將李等涉案47人依違反銀行法等罪起訴，刑事局中打呼籲民眾，任何投資應透過國內合法證券期貨商進行下單匯款，勿輕信「保證獲利」投資方案，極可能都是詐騙，最後血本無歸，如有發現「保證獲利」投資專案招募或廣告，請立即向警察機關檢舉或撥打165反詐騙諮詢專線即時查證。<br>而檢警將持續共同全力守護人民財產，貫徹打擊不法金流專案，維持社會安定及國家經濟穩定，展現政府打擊非法吸金及詐欺犯罪決心。<br>"""<br>請根據以上新聞內容，抓取出可能罪犯，及其可能犯的罪狀。由JSON格式(List of Dict)輸出，每個Dict包含兩個key: name 和 crimes |
|---|---|
| **Breexe** | [<br>{<br>"name": "李示水",<br>"crimes": ["非法經營外匯、期貨", "非法吸金", "詐欺"]<br>},<br>{<br>"name": "共犯47人",<br>"crimes": ["違反銀行法", "詐欺"]<br>}<br>] |

</details>

<details><summary><b>Coding</b></summary>

| Query | 實作一個函數以 O(1) 的空間複雜度和 O(n) 的時間複雜度，找到兩個不同大小的已排序陣列的中位數。 |
|---|---|
| **Breexe** | 首先，我們需要了解如何在 O(1) 的空間複雜度下計算出兩個已排序陣列的中位數。這裡提供了一個演算法：<br><br>假設有兩個已排序陣列 A 和 B，其長度分別為 m 和 n (m <= n)。我們將利用以下步驟來計算中位數：<br>1.找出兩個陣列的中間元素索引 i = (m + n - 1)/2 和 j = m + n/2。注意，如果 n 是奇數，則取整後的 i 和 j 可能相同；如果 n 是偶數，i 和 j 分別表示兩個中位數的位置。<br>2.比較 A[i-1] 和 B[j-1]、A[i] 和 B[j]。<br>3.如果 A[i-1] > B[j-1]，則中位數位於 B[0..j-1] 區間，因此可以忽略 A[i..m] 區間。反之，如果 A[i] < B[j]，則可以忽略 B[j+1..n] 區間。<br>4.重複上述步驟，直到剩下一個區間。這個區間包含兩個陣列的中位數。<br>5.最後，計算中位數。如果 n 是奇數，中位數就是該區間的中間元素；如果 n 是偶數，中位數就是該區間的前兩個元素之平均值。<br><br>以下是 Python 程式碼範例： <br>\`\`\`<br>def find_median(A, B):<br>　 m, n = len(A), len(B)<br>    <br>　 if m > n:<br>　　 A, B, m, n = B, A, n, m # Ensure m <= n<br>        <br>　 imin, imax = 0, m<br>　 while imin <= imax:<br>　　 i = (imin + imax) // 2<br>　　 j = (m + n + 1) // 2 - i<br>        <br>　　 # If i is too small or too large, then adjust it accordingly<br>　　 if i < m and B[j-1] > A[i]:<br>　　　 imin = i + 1<br>　　 elif i > 0 and A[i-1] > B[j]:<br>　　　 imax = i - 1<br>　　 else:<br>　　　 max_left_A = float('-inf') if i == 0 else A[i-1]<br>　　　 min_right_A = float('inf') if i == m else A[i]<br>            <br>　　　 max_left_B = float('-inf') if j == 0 else B[j-1]<br>　　　 min_right_B = float('inf') if j == n else B[j]<br>            <br>　　　 if (m + n) % 2 == 0:<br>　　　　 return (max(max_left_A, max_left_B) + min(min_right_A, min_right_B)) / 2<br>　　　 else:<br>　　　　 return max(max_left_A, max_left_B)<br><br>　 raise ValueError("No median found")<br>\`\`\`<br><br>以上演算法符合要求，在 O(1) 的空間複雜度下完成任務，並且在 O(n) 的時間複雜度內運算。|

</details>

<details><summary><b>Math</b></summary>

| Query | 三角形的頂點位於點 (0, 0)、(-1, 1) 和 (3, 3)。三角形的面積是多少？<br><br>Think it step by step |
|---|---|
| **Breexe** | 首先，我們將利用三角形面積公式來計算這個問題。三角形面積公式為：<br><br>面積 = \|(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2\|<br><br>在這個問題中，三角形的頂點分別位於：<br>A(0, 0)、B(-1, 1)、C(3, 3)<br><br>接下來，我們將代入公式計算：<br><br>面積 = \|(0 * (1 - 3) + (-1) * (3 - 0) + 3 * (0 - 1)) / 2\|<br>面積 = \|(0 - 3 - 3) / 2\|<br>面積 = \|-6 / 2\|<br>面積 = 3<br><br>因此，三角形的面積為 3 平方單位。 |

</details>

<details><summary><b>Taiwan Knowledge</b></summary>

| Query | 我剛來到台北工作，不是很了解這邊的捷運系統，請幫我介紹一下 |
|---|---|
| **Breexe** | 歡迎你來到台北！台北擁有便捷且現代化的大眾運輸系統，其中最主要的是台北捷運（Metro Taipei）。以下是一些基本資訊和路線介紹：<br>1. 台北捷運共有五種不同的路線：淡水信義線 (紅線)、松山新店線 (綠線)、中和新蘆線 (橘線)、文湖線 (棕線) 以及板南線 (藍線)。各線之間有轉乘站相連，方便旅客在城市間移動。<br>2. 淡水信義線：這條線路由北投延伸至象山，途經士林、圓山、雙連等熱門景點。它與中和新蘆線和松山新店線在中正紀念堂站及東門站轉乘；與板南線在台北車站轉乘。<br>3. 松山新店線：從松山延伸至新店，經過南京三民、松江南京、忠孝新生等熱鬧商業區。它與淡水信義線在中正紀念堂站轉乘；與中和新蘆線在古亭站轉乘；與板南線在西門站轉乘。<br>4. 中和新蘆線：此路線由迴龍延伸至蘆洲，途經新莊、板橋、行天宮等區域。它與淡水信義線在東門站轉乘；與松山新店線在古亭站轉乘；與板南線在忠孝復興站轉乘。<br>5. 文湖線：這是環狀線，主要服務內湖科技園區和南港軟體園區等地。它與松山新店線在南京復興站轉乘；與淡水信義線在大安站轉乘。<br>6. 板南線：這條線路由土城延伸至南港展覽館，途經永寧、新埔民生、市政府等站點。它與淡水信義線在台北車站轉乘；與松山新店線在西門站轉乘；與中和新蘆線在忠孝復興站轉乘。<br>7. 票價：單程票費用為每段次新台幣$20元，使用悠遊卡可享折扣優惠。此外，台北捷運提供多種定期票供通勤者選擇，如「常客優惠」、「定期票」等。<br>8. 營運時間：週一至週四，五、六日及國定假日略有不同。一般來說，首班車約早上6點發車，末班車則約晚上12點左右。詳細時刻表可參考台北捷運官網。<br>9. 注意事項：進站時需刷卡或購票，出站時再刷一次卡片。禁止飲食、吸菸、攜帶危險物品等。<br>希望以上資訊能幫助你在台北順利地利用捷運系統。祝你旅途愉快！ |

</details>



## Features

- Expanding the vocabulary dictionary size from 32k to 62k to better support Traditional Chinese 
- 8k-token context length
- Multi-turn dialogue (without special handling for harmfulness)
- Sparse mixture of experts (MoE)


## Inference Performance
In this test, we use the first 700 characters of the [web article](https://health.udn.com/health/story/5976/7699252?from=udn_ch1005_main_index) as the input and ask the model to write the same article again.
All inferences run on 4 RTX A6000 GPUs (using `vllm`, with a tensor-parallel size of 4).

| Models                                                             | ↓ Inference Time (sec)|Estimated Max Input Length (Char)|
|--------------------------------------------------------------------|-------------------|--------------------------|
| **Breexe-8x7B-Instruct-v0.1**                                        |  27.83  |    11.1k                 |
| Mixtral-8x7B-Instruct-v0.1                                         |  59.49   |    5.1k                 |


## Chat Model Performance

**TMMLU+**, **Table**, and **MT-Bench-tw** source from [MediaTek-Research/TCEval-v2](https://huggingface.co/datasets/MediaTek-Research/TCEval-v2),
which derives from [TCEval-v1](https://github.com/mtkresearch/MR-Models/tree/main/TC-Eval)
 and [ikala/tmmluplus](https://huggingface.co/datasets/ikala/tmmluplus). 
 **MMLU** sources from [hails/mmlu_no_train](https://huggingface.co/datasets/hails/mmlu_no_train).
 **MT-Bench** source from [lmsys/mt_bench_human_judgments](https://huggingface.co/datasets/lmsys/mt_bench_human_judgments).
 We use [the code](https://github.com/mtkresearch/TCEval) revised from [EleutherAI/lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) to evaluate **TMMLU+**, **Table**, and **MMLU**. All choice problems adapt the selection by the log-likelihood.
 We use [the code](https://github.com/mtkresearch/TCEval) revised from [fastchat llm_judge](https://github.com/lm-sys/FastChat/tree/main/fastchat/llm_judge) (GPT4 as judge) to evaluate **MT-Bench-tw** and **MT-Bench**.


| Models                                                                                                  |        |↑ MT-Bench-tw (Score)| TMMLU+ (ACC)|TTQA (ACC)   |  Table (ACC)| MT-Bench (Score)| MMLU (ACC)  | 
|---------------------------------------------------------------------------------------------------------|--------|--------------------|--------------|-------------|-------------|------------------|-------------|
|                                                                                                         |        |TC, Chat            |TC, Knowledge |TC, Knowledge|TC, Reasoning|EN, Chat          |EN, Knowledge|
|                                                                                                         |        |0 shot              | 0 shot       |0 shot       | 0 shot      |0 shot            |  0 shot     |
| [**Breexe-8x7B-Instruct-v0_1**](https://huggingface.co/MediaTek-Research/Breexe-8x7B-Instruct-v0_1)     | 47B    |7.2                 | 48.92        | 75.22       | 39.58       | 7.8              | 69.90       |
| [gpt-3.5-turbo-1106](https://openai.com)                                                                |        |7.1                 | 43.56        | 68.14       | 45.14       |7.9               |  67.09      |
| [Qwen1.5-14B-Chat](https://huggingface.co/Qwen/Qwen1.5-14B-Chat)                                        | 14B    |7.1                 | 51.76        | 70.79       | 51.39       |7.8               | 66.65       |
| [Yi-34B-Chat](https://huggingface.co/01-ai/Yi-34B-Chat)                                                 | 34B    |6.9                 | 54.87        | 81.42       | 36.81       |7.6               |   71.04     | 
| [Qwen1.5-7B-Chat](https://huggingface.co/Qwen/Qwen1.5-7B-Chat)                                          | 7B     |6.4                 | 44.65        | 67.86       | 34.72       |7.6               | 59.54       | 
| [Breeze-7B-Instruct-v1_0](https://huggingface.co/MediaTek-Research/Breeze-7B-Instruct-v1_0)             | 7B     |6.0                 | 42.67        | 77.00       | 39.58       |7.4               |    61.73    | 
| [Yi-6B-Chat](https://huggingface.co/01-ai/Yi-6B-Chat)                                                   | 6B     |5.0                 | 44.79        | 72.57       | 25.69       |6.0               |    59.45    |  
| [Taiwan-LLM-13B-v2.0-chat](https://huggingface.co/yentinglin/Taiwan-LLM-13B-v2.0-chat)                  | 13B    |5.0                 | 29.47        | 67.26       | 23.61       |N/A*                |    50.50    |  
| [Taiwan-LLM-7B-v2.1-chat](https://huggingface.co/yentinglin/Taiwan-LLM-7B-v2.1-chat)                    | 7B     |4.2                 | 28.08        | 51.33       | 31.25       |N/A*               |    42.72    |  

\* Taiwan-LLM models responds to multi-turn questions (English) in Traditional Chinese.


## Base Model Performance

**TMMLU+** and **Table** source from [MediaTek-Research/TCEval-v2](https://huggingface.co/datasets/MediaTek-Research/TCEval-v2),
which derives from [TCEval-v1](https://github.com/mtkresearch/MR-Models/tree/main/TC-Eval)
 and [ikala/tmmluplus](https://huggingface.co/datasets/ikala/tmmluplus). 
 **MMLU** sources from [hails/mmlu_no_train](https://huggingface.co/datasets/hails/mmlu_no_train).
 We use [the code](https://github.com/mtkresearch/TCEval) revised from [EleutherAI/lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) to evaluate **TMMLU+**, **Table**, and **MMLU**. All choice problems adapt the selection by the log-likelihood.


| Models                                                                              |      |↑ TMMLU+ (ACC)| TTQA (ACC)  | Table (ACC) | MMLU (ACC)  |
|-------------------------------------------------------------------------------------|------|--------------|-------------|-------------|-------------|
|                                                                                     |      |TC, Knowledge |TC, Knowledge|TC, Reasoning|EN, Knowledge|
|                                                                                     |      | 5 shot       |5 shot       |  5 shot     |  5 shot     |
| [Yi-34B](https://huggingface.co/01-ai/Yi-34B)                                       | 34B  | 63.10        | 87.61       | 49.31       | 77.42       |
| [Qwen1.5-14B](https://huggingface.co/Qwen/Qwen1.5-14B)                              | 14B  | 54.30        |  78.76      |  54.86      | 70.17       |
| **Breexe-8x7B-Base-v0_1**                                                           | 47B  | 50.20        | 79.65       |  39.58      | 70.79       |  
| [Yi-6B](https://huggingface.co/01-ai/Yi-6B)                                         | 6B   | 49.63        | 75.22       | 34.72       | 65.35       |
| [Qwen1.5-7B](https://huggingface.co/Qwen/Qwen1.5-7B)                                | 7B   | 46.51        | 69.03       | 33.33       | 63.14       |
| [Mixtral-8x7B-v0.1](https://huggingface.co/mistralai/Mixtral-8x7B-v0.1)             | 47B  | 46.10        | 64.60       | 47.22       | 72.94       |
| [Breeze-7B-Base-v1_0](https://huggingface.co/MediaTek-Research/Breeze-7B-Base-v1_0) | 7B   | 42.67        | 75.22       |  31.99      | 61.24       |
| [Mistral-7B-v0.1](https://huggingface.co/mistralai/Mistral-7B-v0.1)                 | 7B   | 36.93        | 53.10       |  27.78      | 64.89       |




## Use in Transformers

First install direct dependencies:
```
pip install transformers torch accelerate
```
If you want faster inference using flash-attention2, you need to install these dependencies:
```bash
pip install packaging ninja
pip install flash-attn
```
Then load the model in transformers:
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "MediaTek-Research/Breexe-8x7B-Instruct-v0_1",
    device_map="auto",
    torch_dtype=torch.bfloat16,
    attn_implementation="flash_attention_2" # optional
)
```

The structure of the query is 
```txt
<s> SYS_PROMPT  [INST] QUERY1 [/INST] RESPONSE1 [INST] QUERY2 [/INST] 
```
where `SYS_PROMPT`, `QUERY1`, `RESPONSE1`, and `QUERY2` can be provided by the user.

The suggested default `SYS_PROMPT` is 
```txt
You are a helpful AI assistant built by MediaTek Research. The user you are helping speaks Traditional Chinese and comes from Taiwan.
```

We also integrate `chat_template` into [tokenizer_config.json](tokenizer_config.json), so you can `apply_chat_template` to get the prompt.

```python
>>> from transformers import AutoTokenizer
>>> tokenizer = AutoTokenizer.from_pretrained("MediaTek-Research/Breexe-8x7B-Instruct-v0_1")
>>> chat = [
...   {"role": "user", "content": "你好，請問你可以完成什麼任務？"},
...   {"role": "assistant", "content": "你好，我可以幫助您解決各種問題、提供資訊和協助您完成許多不同的任務。例如：回答技術問題、提供建議、翻譯文字、尋找資料或協助您安排行程等。請告訴我如何能幫助您。"},
...   {"role": "user", "content": "太棒了！"},
... ]
>>> tokenizer.apply_chat_template(chat, tokenize=False)
"<s>You are a helpful AI assistant built by MediaTek Research. The user you are helping speaks Traditional Chinese and comes from Taiwan.   [INST] 你好，請問你可以完成什麼任務？ [/INST] 你好，我可以幫助您解決各種問題、提供資訊和協助您完成許多不同的任務。例如：回答技術問題、提供建議、翻譯文字、尋找資料或協助您安排行程等。請告訴我如何能幫助您。 [INST] 太棒了！ [/INST] "
# Tokenized results
# ['▁', '你好', '，', '請問', '你', '可以', '完成', '什麼', '任務', '？']
# ['▁', '你好', '，', '我', '可以', '幫助', '您', '解決', '各種', '問題', '、', '提供', '資訊', '和', '協助', '您', '完成', '許多', '不同', '的', '任務', '。', '例如', '：', '回答', '技術', '問題', '、', '提供', '建議', '、', '翻譯', '文字', '、', '尋找', '資料', '或', '協助', '您', '安排', '行程', '等', '。', '請', '告訴', '我', '如何', '能', '幫助', '您', '。']
# ['▁', '太', '棒', '了', '！']
```

## Citation

```
@article{breexe8x7b2024,
  title={},
  author={},
  journal={arXiv},
  year={2024}
}
```