Microsoftの小型で高性能なLLM「phi-1.5」を試す

## phi-1.5とは？

phi-1.5は、Microsoftがリリースした13億（1.3B）パラメーターのLLMです。Microsoftは6月に、[phi-1](https://huggingface.co/microsoft/phi-1)を発表しており、phi-1.5はその進化版です。

https://huggingface.co/microsoft/phi-1_5

たったの13億パラメーターしかないにも関わらず、常識、言語理解、論理的推論をテストするベンチマークで、100億パラメーター以下のモデルの中でほぼ最先端の性能を示すそうです。

学習に「教科書品質」のデータを用いることで、少ないパラメーター数で高い性能を実現しています。

phi-1.5は、安全性に関わる重要な課題を探求するために、研究コミュニティーに制限のない小規模なモデルを提供する目的でリリースされました。

:::note warn
記事執筆時点では、phi-1.5のモデルは公開されているものの、**オープンソースではありません**。

phi-1.5はMicrosoft Research Licenseとなっており、非営利の研究目的でのみ利用できます。商用利用はできないので注意が必要です。
:::

## コード

[サンプルコード](https://huggingface.co/microsoft/phi-1_5#sample-code)を少し改変しました。主な変更点は次の通りです。

- デバイスとしてCUDAを指定
- プロンプトを変更
- max_lengthを拡張

今回は気候変動についての記事を書いてもらいました ~~（他にネタが思いつかなかった）~~

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
    "microsoft/phi-1_5", trust_remote_code=True, torch_dtype="auto").to("cuda")
tokenizer = AutoTokenizer.from_pretrained(
    "microsoft/phi-1_5", trust_remote_code=True, torch_dtype="auto")
inputs = tokenizer('''# Impacts of climate change and the importance of countermeasures

This is a news article about the effects of climate change and the importance of taking action.

The effects of climate change are becoming more severe every year.''', return_tensors="pt", return_attention_mask=False).to("cuda")

outputs = model.generate(**inputs, max_length=1000)
text = tokenizer.batch_decode(outputs)[0]
print(text)
```

## 結果

### 入力

> \# Impacts of climate change and the importance of countermeasures
>
> This is a news article about the effects of climate change and the importance of taking action.
>
> The effects of climate change are becoming more severe every year.

### 出力

※途中で関係ない文章を書き始めたので``
``までを載せています。

> \# Impacts of climate change and the importance of countermeasures
>
> This is a news article about the effects of climate change and the importance of taking action.
>
> The effects of climate change are becoming more severe every year. Rising temperatures, melting ice caps, and extreme weather events are just a few of the consequences we are facing. These changes have a significant impact on our environment, economy, and society as a whole.
>
> One of the most pressing issues is the loss of biodiversity. As temperatures rise, many species are struggling to adapt and survive. This loss of biodiversity not only disrupts ecosystems but also threatens the delicate balance of nature.
>
> Another consequence of climate change is the increase in natural disasters. Hurricanes, floods, and wildfires are becoming more frequent and intense, causing widespread destruction and loss of life. These disasters not only impact the immediate area but also have long-term effects on the economy and infrastructure.
>
> Furthermore, climate change is also affecting agriculture and food security. Changes in temperature and rainfall patterns are disrupting crop yields and making it difficult for farmers to grow enough food to feed the growing population. This puts a strain on food production and can lead to food shortages and price increases.
>
> To address these challenges, it is crucial that we take action to mitigate the effects of climate change. This includes reducing greenhouse gas emissions, transitioning to renewable energy sources, and implementing sustainable practices in various sectors.
>
> By taking these steps, we can help slow down the rate of climate change and protect our planet for future generations. It is essential that we work together as a global community to address this urgent issue and ensure a sustainable future for all.
>
> In conclusion, climate change is a pressing issue that requires immediate action. The effects of climate change are far-reaching and impact various aspects of our lives. By understanding the causes and consequences of climate change, we can take steps to mitigate its effects and create a more sustainable future.

日本語訳は次の通りです。

> \# 気候変動の影響とその対策の重要性
>
> これは気候変動の影響と行動を起こすことの重要性についてのニュース記事です。
>
> 気候変動の影響は年々深刻になってきています。気温の上昇、氷床の融解、異常気象などは、私たちが直面している影響のほんの一部にすぎません。これらの変化は、私たちの環境、経済、社会全体に大きな影響を与えます。
>
> 最も差し迫った問題の1つは生物多様性の損失です。気温が上昇するにつれ、多くの種が適応して生き残るために苦労しています。この生物多様性の損失は、生態系を破壊するだけでなく、自然の微妙なバランスを脅かします。
>
> 気候変動のもう一つの影響は、自然災害の増加です。ハリケーン、洪水、山火事はますます頻繁かつ激しくなり、広範囲にわたる破壊と人命の損失を引き起こしています。これらの災害は、当面の地域に影響を与えるだけでなく、経済やインフラにも長期的な影響を及ぼします。
>
> さらに、気候変動は農業や食料安全保障にも影響を与えています。気温と降雨パターンの変化により作物の収量が混乱し、増加する人口を養うのに十分な食料を農家が栽培することが困難になっています。これは食糧生産に負担を与え、食糧不足や価格高騰を引き起こす可能性があります。
>
> これらの課題に対処するには、気候変動の影響を緩和するための行動を起こすことが重要です。これには、温室効果ガス排出量の削減、再生可能エネルギー源への移行、さまざまな分野での持続可能な実践の実施が含まれます。
>
> これらの措置を講じることで、気候変動の速度を遅らせ、将来の世代のために地球を保護することができます。この緊急の問題に対処し、すべての人にとって持続可能な未来を確保するには、私たちが国際社会として協力することが不可欠です。
>
> 結論として、気候変動は早急な行動が必要な差し迫った問題です。気候変動の影響は広範囲に及び、私たちの生活のさまざまな側面に影響を与えます。気候変動の原因と結果を理解することで、その影響を軽減し、より持続可能な未来を築くための措置を講じることができます。

## まとめ

Microsoftの小型で高性能なLLM「phi-1.5」を試しました。

文章に大きな破綻もなく、文脈を維持したまま文章を生成できました。この記事には載せていませんが、コーディングも可能です。

一方で、ベースモデルなので指示に応じた応答を返すといったことは苦手です。

LLMは多くの計算資源と水を消費することが知られており、環境負荷の観点から小型で高性能なモデルの需要が増えていくと思われます。