class_docstr: Test case for Phi2 models
class_docstr_tok: ["Test","case","for","Phi2","models"]
code: def test_ft_packed(self, temp_dir):
      # pylint: disable=duplicate-code
      cfg = DictDefault(
          {
              "base_model": "microsoft/phi-2",
              "trust_remote_code": True,
              "model_type": "PhiForCausalLM",
              "tokenizer_type": "AutoTokenizer",
              "sequence_len": 512,
              "sample_packing": True,
              "load_in_8bit": False,
              "adapter": None,
              "val_set_size": 0.1,
              "special_tokens": {
                  "unk_token": "<|endoftext|>",
                  "bos_token": "<|endoftext|>",
                  "eos_token": "<|endoftext|>",
                  "pad_token": "<|endoftext|>",
              },
              "datasets": [
                  {
                      "path": "mhenrichsen/alpaca_2k_test",
                      "type": "alpaca",
                  },
              ],
              "dataset_shard_num": 10,
              "dataset_shard_idx": 0,
              "num_epochs": 1,
              "micro_batch_size": 1,
              "gradient_accumulation_steps": 1,
              "output_dir": temp_dir,
              "learning_rate": 0.00001,
              "optimizer": "adamw_bnb_8bit",
              "lr_scheduler": "cosine",
          }
      )
      if is_torch_bf16_gpu_available():
          cfg.bf16 = True
      else:
          cfg.fp16 = True
  
      normalize_config(cfg)
      cli_args = TrainerCliArgs()
      dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
  
      train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
      assert (Path(temp_dir) / "pytorch_model.bin").exists()
  
file_path: axolotl/tests/e2e/test_phi.py
imports: import logging
  import os
  import unittest
  from pathlib import Path
  import pytest
  from transformers.utils import is_torch_bf16_gpu_available
  from axolotl.cli import load_datasets
  from axolotl.common.cli import TrainerCliArgs
  from axolotl.train import train
  from axolotl.utils.config import normalize_config
  from axolotl.utils.dict import DictDefault
  from .utils import with_temp_dir
label_desc: Use image node_id 2 for calling the TestPhi obj's underlying member method code with example usage: obj.test_ft_packed(temp_dir) without return types