From 8905586cb63123788b41fe55a47a33d99304f705 Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Sat, 6 Jul 2024 16:15:28 +0800 Subject: [PATCH 1/6] add llm-benchmarks proposal Signed-off-by: IcyFeather --- .../llm-benchmarks/llm-benchmarks.md | 367 ++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md new file mode 100644 index 00000000..ce1ccd7f --- /dev/null +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md @@ -0,0 +1,367 @@ +# 行业大模型基准测试套件:基于KubeEdge-Ianvs实现 + +大模型进入规模化应用时代,云已为大模型提供基础设施和服务,相关客户进一步提出包括个性化、数据合规、实时性等边缘侧的针对性应用需求,而云边协同的人工智能服务成为大趋势。但是,当前在产品定义、服务质量、服务资质、行业影响力等方面,存在通用竞争力和客户信任问题两大挑战,其症结在于,当前大模型基准测试聚焦对通用基础能力的考核,未能从行业角度牵引大模型应用。本项目从大模型产业以及云边协同人工智能角度、藉由行业应用反映大模型真实价值,以行业基准测试牵引大模型应用孵化。本项目基于协同人工智能基准测试套件KubeEdge-Ianvs,补充大模型测试工具接口,配套测试数据集,并构建政务等行业大模型测试套件。 + +目前Ianvs项目有以下问题需要解决: + +1. 缺少灵活的数据集读取方式 +Ianvs当前的数据集读取部分是由两年前的[simulation部分](https://github.com/kubeedge/ianvs/blob/main/docs/proposals/simulation/simulation.md)实现引入,目前仅支持少数几种数据集读取方式,例如使用index.txt配置,并且依赖于`sedna.datasources`这个库,如果需要实现新的数据集读取类,不仅需要修改Ianvs项目,还需要对应的修改sedna项目的代码 +2. 缺少一个大模型的example +Ianvs项目在之前主要关注于图像处理的模型,对于大规模语言模型并没有相关示例,这可能会对想在Iavns项目上使用大模型的用户造成一些困难,如果能有一个大模型的示例,他们会更容易上手使用 +3. 缺少一个大模型benchmark +数据集的格式多种多样,想要对大模型的效果评估进行适配,建立一个大模型的基准测试,需要定义好一个通用的接口,这个过程中需要调研多种模态的数据形式,并找到一个最好的接口设计 + +## Goals + +1. 调研数据集,形成一份较为全面的包括多种行业场景的测试数据集的数据集地图 +2. 完成大模型的single task learning的example,帮助想在Ianvs中使用LLM的用户上手使用 +3. 集成OpenCompass等开源项目,通过提供模型API地址和Key实现在线大模型调用 +4. 比较各种数据集接口的优劣,并指定一个通用的benchmark接口格式 +5. 聚焦NLP或多模态类任务,以政务行业为例构筑套件,包括测试集、测试指标、测试环境、使用指南 + +## Design Details + +### Dataset Map + +#### Government Affairs + +| Dataset Name | Summary | Link | +| --- | --- | --- | +| SUM: A Benchmark Dataset of Semantic Urban Meshes | A new benchmark dataset of semantic urban meshes is introduced, covering an area of approximately 4 square kilometers in Helsinki, Finland, with six classes of objects. A significant amount of labeling work is saved through a semi-automatic annotation framework. | [Link](https://3d.bk.tudelft.nl/projects/meshannotation/) | +| "15-Minute Living Circle" Planning Dataset for Urban Communities | A deep reinforcement learning-based approach for urban community spatial planning is proposed and millions of plans have been conducted in a virtual urban environment, learning urban planning capabilities from a vast amount of data. | [Link](https://github.com/tsinghua-fib-lab/DRL-urban-planning) | +| Walk score of all main Chinese cities | We are sharing the year-2014 “Walk Score” in GIS Shapefiles for more than 700,000 streets in 287 main cities (at or above prefecture-level) in mainland China. The Walk Scores range from 0 to 100, where 100 indicates the highest walkability. Please unzip the following two files and put them in the same directory and in this way you will be able to open the GIS file. Eleven attributes are available in the data, including walk score of the street (WS), ID of the street (STREET_ID), ID of the city (CITY_ID), name of the city in Chinese (NAME), name of the city in pinyin (PINYIN), level of the city (CITY_LEVEL), street segment length in meters (LENGTH_M), width of the road in meters (width_m), function density (function_d), function mix (function_m), as well as junction density (junction_d). | [Link](https://www.beijingcitylab.com/data-released-1/) | +| Urban vacant land of 36 major Chinese cities | The data include two parts: (1) urban vacant land of 36 major Chinese cities (in shapefile format), and (2) codes and data used for automatic vacant land identification. Urban vacant land is a growing issue worldwide. The study is aimed to realize large-scale automatic identification of urban vacant land. A framework based on deep learning techniques is proposed to extract urban vacant land of 36 major Chinese cities through semantic segmentation of high-resolution remote sensing images. The automatic identification framework is proved to be accurate and efficient, with strong robustness. This method is expected to serve as a practical approach in various countries and regions. The data of urban vacant land of 36 cities can be used in further studies. | [Link](https://www.beijingcitylab.com/data-released-1/) | +| Functional urban areas of China | We are sharing the Didi car hailing records derived functional urban areas of China in the format of GIS ShapeFiles. Please cite our paper when you use the data. | [Link](https://www.beijingcitylab.com/data-released-1/) | +| Urban blocks in 63 Chinese cities | We are sharing 141375 street blocks in 63 Chinese cities in 2017 in the format of GIS ShapeFiles. The data depicts street block scale three-dimensional attributes of these Chinese cities. They were computed using the 3.357 million large-scale three-dimensional building data (footprint with floor number). | [Link](https://www.beijingcitylab.com/data-released-1/) | +| OpenStreetMap | An open map dataset that includes global road network information, which can be used for traffic planning and analysis. | [Link](https://www.openstreetmap.org/) | +| Traffic4Cast | This is a dataset for a traffic forecasting challenge, containing traffic images and associated metadata from multiple cities for short-term traffic prediction. | [Link](https://github.com/iarai/NeurIPS2022-traffic4cast) | +| LargeST | This is a large-scale traffic flow forecasting benchmark dataset, encompassing 5 years of temporal coverage from 8,600 sensors in California, and includes comprehensive metadata. | [Link](https://github.com/liuxu77/LargeST) | +| PeMS | The California Department of Transportation's Performance Measurement System (PeMS) provides traffic flow data, which is commonly used for traffic management and forecasting research. | [Link](https://ar5iv.labs.arxiv.org/html/2306.08259) | +| Urban100 | This is an urban building recognition dataset, which includes 100 urban building images for training and evaluating deep learning models. | [Link](https://github.com/jbhuang0604/SelfExSR) | +| Epidemic Situation Government Q&A Dataset | Government Q&A data related to the epidemic. | [Link](https://aistudio.baidu.com/datasetdetail/23958) | +| Chinese_Rumor_Dataset | The data is Chinese rumor data scraped from the Sina Weibo false information reporting platform. | [Link](https://github.com/thunlp/Chinese_Rumor_Dataset) | +| Teddy Cup Government Data | This dataset contains data from a government messaging system. | [Link](https://github.com/Syucryingstar/NLP_tipdm/blob/master/%E5%85%A8%E9%83%A8%E6%95%B0%E6%8D%AE/%E9%99%84%E4%BB%B63.xlsx) | +| Urban Waste Classification Dataset | This dataset is for urban waste classification, dividing waste into four categories: dry waste, wet waste, hazardous waste, and recyclable waste. The images include plastic bottles, cherry tomatoes, used batteries, wads of toilet paper, and coffee cup lids. The number of images is 457. | [Link](https://aistudio.baidu.com/datasetdetail/22032) | +| Trash Annotations in Context | Garbage annotation in the scene, garbage classification/garbage identification/garbage instance segmentation, using COCO format annotation, compatible with pycocotools, including 1000 images. | [Link](https://aistudio.baidu.com/datasetdetail/103241) | +| Garbage Identification Dataset | Garbage identification dataset consisting of 15,515 images. | [Link](https://aistudio.baidu.com/datasetdetail/163725) | +| Domestic Waste Classification and Identification Project Dataset | Dataset for the domestic waste classification and identification project. | [Link](https://aistudio.baidu.com/datasetdetail/180004) | +| Indoor Trash Bin Identification Example Dataset | This is an example dataset that can be used for the training of AI agents and for data testing in scientific research projects. The dataset includes 100 sets of indoor trash bin images from different types, angles, and distances (1 rendering image + 1 semantic image). | [Link](https://aistudio.baidu.com/datasetdetail/119074) | +| Online Forum Sentiment Analysis | Sentiment analysis of online forum discussions. | [Link](https://aistudio.baidu.com/datasetdetail/241555) | +| Weibo Sentiment Data (Including Epidemic Data) | Weibo sentiment data, including data related to the epidemic. | [Link](https://aistudio.baidu.com/datasetdetail/228241) | +| Twitter Threat Sentiment | Sentiment analysis of threats on Twitter. | [Link](https://aistudio.baidu.com/datasetdetail/101917) | +| Fake News Data | Fake news data. | [Link](https://aistudio.baidu.com/datasetdetail/54033) | +| U.S. Fake News Data | This data is a labeled fake news dataset, which includes fake news data identified using the Chrome BS Detector extension tool from 244 websites. | [Link](https://aistudio.baidu.com/datasetdetail/69660) | +| Weibo Fake News Dataset | Weibo: 4,664 events, (2,313/2,351 Rumor/NonRumor), 3,805,656 posts, 2,746,818 users. Average number of posts per event: 816. Maximum number of posts. | [Link](https://aistudio.baidu.com/datasetdetail/56506) | +| Fake News Detection Dataset | Determine whether the news is fake by using both text and image data contained in the news. | [Link](https://aistudio.baidu.com/datasetdetail/127722) | +| Internet Fake News Detection During the Epidemic Period | Internet fake news detection during the epidemic period. | [Link](https://aistudio.baidu.com/datasetdetail/31690) | +| Chatgpt Politically Related Dataset | Politics is considered politically related; everything else is not. Categories include: {'Technology': 0, 'Stocks': 1, 'Sports': 2, 'Entertainment': 3, 'Politics': 4, 'Society': 5, 'Education': 6, 'Finance': 7, 'Home': 8, 'Games': 9, 'Real Estate': 10, 'Fashion': 11, 'Lottery': 12, 'Horoscope': 13}. | [Link](https://aistudio.baidu.com/datasetdetail/199569) | +| Questioning Government Message Dataset | The dataset contains 9,832 messages, divided into six parts, including "Message ID," "Message User," "Message Subject," "Message Time," "Message Details," and "Primary Classification." | [Link](https://aistudio.baidu.com/datasetdetail/124792) | + + +#### Industry + +| Dataset Name | Summary | Link | +| --- | --- | --- | +| A benchmark dataset with Knowledge Graph generation for Industry 4.0 production lines | This dataset aims to develop a benchmark dataset for the generation of Knowledge Graphs, showcasing the benefits of using ontologies and semantic annotations of data. | [Link](https://www.x-mol.net/paper/article/1757834457582899200) | +| Cityscapes Dataset | A detailed urban street scene dataset containing 5000 videos for assessing the vision systems of autonomous driving vehicles. | [Link](https://www.cityscapes-dataset.com/) | +| ISTD-PDS7 | A benchmark dataset for multi-type pavement distress segmentation from CCD images in complex scenarios. | [Link](https://www.x-mol.net/paper/article/1639539700376416256) | +| OPV2V | The first large-scale open dataset for perception with V2V (Vehicle-to-Vehicle) communication: Provides a comprehensive benchmark with up to 16 models and a complete code framework. | [Link](https://mobility-lab.seas.ucla.edu/opv2v/) | +| Industrial Benchmark Dataset | This dataset is related to industrial control problems and is used to evaluate offline reinforcement learning algorithms. | [Link](https://github.com/siemens/industrialbenchmark) | +| Benchmark datasets incorporating diverse tasks, sample sizes, material systems, and data heterogeneity for materials informatics | A unique repository that includes 50 different datasets of material properties. | [Link](https://www.sciencedirect.com/science/article/pii/S2352340921005461) | +| PDEBench | A comprehensive benchmark for scientific machine learning. | [Link](https://github.com/pdebench/PDEBench) | +| WHU-TLS benchmark dataset | This dataset contains 115 scans with over 17.4 million 3D points from 11 different environments. It provides ground truth transformations, transformations calculated by Dong et al. (2018), and registration graphs for researchers. It can be used for applications such as safe railway operation, river survey and management, forest structure assessment, cultural heritage preservation, landslide monitoring, and underground asset management. | [Link](https://3s.whu.edu.cn/ybs/en/benchmark.htm) | +| LandBench 1.0 | A benchmark dataset that includes a large number of hydrological variables to evaluate land cover classification algorithms. | [Link](https://www.sciencedirect.com/science/article/pii/S095741742303419X) | +| NetBench | A large-scale and comprehensive network traffic benchmark dataset that includes multiple datasets and classification tasks for network traffic classification and analysis. | [Link](https://arxiv.org/html/2403.10319v1) | +| Tianchi Intelligent Manufacturing Quality Prediction Dataset | This dataset provides sampling data from the production line, reflecting factors such as machine temperature, gas, liquid flow, power, and manufacturing time. Researchers are required to design models to accurately predict the corresponding characteristic values. This is a typical regression prediction problem. | [Link](https://tianchi.aliyun.com/dataset/140667) | +| Aluminum Profile Surface Defect Recognition Dataset | This dataset comes from actual production monitoring images of aluminum profiles with defects. Each image contains one or more defects, and the sample images for machine learning will clearly identify the types of defects contained in the images. | [Link](https://tianchi.aliyun.com/dataset/140666) | +| Alibaba Cloud Infrastructure Supply Chain Inventory Management Decision Dataset | Supply chain lean management, as a new interdisciplinary field under the scenarios of the Internet and cloud computing, is at the core of Industry 4.0 and is a highly challenging issue for both academia and industry. This dataset focuses on solving at the replenishment unit level (the smallest unit of inventory management), given a period of historical demand data, current inventory data, replenishment lead time, and information related to the replenishment unit (product dimension and geographical dimension), researchers can use technologies such as "time series forecasting" and "operational research optimization" to make corresponding inventory management decisions. The aim is to reduce inventory levels and costs while ensuring that inventory is highly likely to meet demand without interruption. | [Link](https://tianchi.aliyun.com/dataset/138679) | +| Ceramic Tile Defect Detection Dataset | The data comes from a well-known ceramic tile manufacturer in Foshan, Guangdong Province. Data collection was carried out by setting up professional shooting equipment on the production line to capture real data from the manufacturing process, covering all common defects in the ceramic tile production line, including powder clumps, corner cracks, glaze drops, ink breaks, B holes, dirt spots, edge cracks, missing corners, brick debris, and white edges. | [Link](https://tianchi.aliyun.com/dataset/110088) | +| KITTI Autonomous Driving Dataset | KITTI includes a suite of vision tasks built using an autonomous driving platform. The full benchmark contains many tasks such as stereo, optical flow, visual odometry, etc. This dataset contains the object detection dataset, including monocular images and bounding boxes. The dataset contains 7,481 training images annotated with 3D bounding boxes. | [Link](https://tianchi.aliyun.com/dataset/92225) | +| Textile Defect Detection Dataset | The Tianchi platform delved into the textile workshop in Nanhai, Foshan, to collect images of textiles on site, creating and releasing a large-scale, high-quality textile flaw dataset, while also providing detailed annotations to meet the requirements of algorithms. The competition data covers various important flaws in the textile industry, with each image containing one or more flaws. | [Link](https://tianchi.aliyun.com/dataset/79336) | +| Turbine Blade Defect Dataset | This dataset is specifically created for the research of defect detection and identification in aircraft engines. The dataset includes a series of images of turbine blades and related defect annotation information. By using this dataset, researchers and engineers can carry out training, evaluation, and optimization of machine learning and deep learning algorithms for engine defects. | [Link](https://tianchi.aliyun.com/dataset/154228) | +| Industrial Steam Volume Prediction Dataset | Industrial Steam Volume Prediction Dataset | [Link](https://tianchi.aliyun.com/dataset/130516) | + +#### Medical + +| Dataset Name | Summary | Link | +| --- | --- | --- | +| MedMNIST | A medical image dataset including 10 preprocessed open medical image datasets covering main medical image modalities and a variety of data scales, aiming to provide a lightweight benchmark for AutoML in medical image classification. | [Link](https://www.heywhale.com/mw/dataset/5fa0fc9cca48e0003010a2e7) | +| CMB (Chinese Medical Benchmark) | A comprehensive Chinese medical benchmark test with 280,839 multiple-choice questions and 74 complex case consultation questions, covering all clinical medical specialties and various professional levels, to evaluate a model's medical knowledge and clinical consultation capabilities holistically. | [Link](https://cmedbenchmark.llmzoo.com/) | +| MedicalGPT Wiki | Provides a 2.4 million Chinese medical dataset, including pre-training, instruction fine-tuning, and reward datasets, as well as a 220,000 Chinese medical dialogue dataset. | [Link](https://github.com/shibing624/MedicalGPT/wiki/Data-Collection) | +| ChestX-ray14 | A medical imaging dataset with 112,120 frontal-view X-ray images of 30,805 unique patients, labeled with fourteen common disease categories derived from radiological reports using NLP techniques, expanding on ChestX-ray8 by adding six additional thorax diseases. | [Link](https://nihcc.app.box.com/v/ChestXray-NIHCC/file/220660789610) | +| MIMIC | A large, freely-available database containing deidentified health-related data from patients admitted to the critical care units of the Beth Israel Deaconess Medical Center. | [Link](https://mimic.mit.edu/) | +| ISIC (International Skin Imaging Collaboration) | A dataset containing images of skin lesions for skin cancer detection and classification. | [Link](https://www.isic-archive.com/) | +| Chinese Medical Information Processing Evaluation Benchmark CBLUE | Includes various datasets such as Chinese medical named entity recognition and Chinese medical text entity relationship extraction. | [Link](https://tianchi.aliyun.com/dataset/95414?lang=zh-cn) | +| CHIP2022-Medical Text Diagnostic Decision Tree Extraction Task | Clinical diagnostic and treatment processes are core medical knowledge and play an important role in building clinical auxiliary diagnostic and treatment systems, automatic medical consultation robots, and other applications. The Text2DT task defined in this dataset aims to model the clinical diagnostic and treatment process as a diagnostic decision tree, which is a tree structure composed of condition nodes and decision nodes. | [Link](https://tianchi.aliyun.com/dataset/135065) | +| CHIP2022-Medical List Invoice OCR Element Extraction Task | The dataset includes four types of medical records: outpatient invoices, inpatient invoices, medication tax invoices, and discharge summaries. The main focus is on extracting data from life scene images and generating electronic structured data. | [Link](https://tianchi.aliyun.com/dataset/131815) | +| Chinese Medical Named Entity Recognition Dataset (CMeEE) | The dataset includes 504 common pediatric diseases, 7,085 body parts, 12,907 clinical manifestations, 4,354 medical procedures, and other nine major categories of medical entities, with a training set of 15,000 entries, a validation set of 5,000 entries, and a test set of 3,000 entries. | [Link](https://tianchi.aliyun.com/dataset/144495) | + +### LLM Single-Task-Learning Example + +`examples/llm` 目录结构: + +``` +llm +└── singletask_learning_bench + └── simple_qa + ├── benchmarkingjob.yaml + ├── testalgorithms + │ └── gen + │ ├── basemodel.py + │ ├── gen_algorithm.yaml + │ ├── op_eval.py + └── testenv + ├── acc.py + └── testenv.yaml +``` + +simple_qa 是我设计的一个简单的QA问答任务,测试集部分内容如下: + +``` +{"question": "如果小明有5个苹果,他给了小华3个,那么小明还剩下多少个苹果?\nA. 2个\nB. 3个\nC. 4个\nD. 5个", "answer": "A"} +{"question": "下列哪个数是最小的质数?\nA. 0\nB. 1\nC. 2\nD. 4", "answer": "C"} +{"question": "一个长方形的长是10厘米,宽是5厘米,它的周长是多少厘米?\nA. 20厘米\nB. 30厘米\nC. 40厘米\nD. 50厘米", "answer": "B"} +{"question": "下列哪个分数是最接近1的?\nA. 1/2\nB. 3/4\nC. 4/5\nD. 5/6", "answer": "D"} +{"question": "如果一个数加上10等于30,那么这个数是多少?\nA. 20\nB. 21\nC. 22\nD. 23", "answer": "A"} +``` + +通过LLM来回答所选答案,提取回答中的答案的方式,来与正确答案进行比对,计算acc准确率 + +另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制。 + +在之前的项目中,我们需要在 `testenv.yaml` 文件中配置 `train_url` 和 `test_url` 索引文件的路径,索引文件中会放 (输入x, 期望输出y) 的文件路径,这个设计是存在一些局限性的。 + +以往的ianvs项目似乎是以cv为主,对于nlp的example似乎没有,所以数据集读取方面,一般采用的方式是写一个index.txt,这个文件里面放(数据,标注)对,然后又有一个放数据的文件夹,一个放标注的文件夹,一个文件就是一个数据。一张图片一个数据,这在cv领域是可以理解的,但是如果换到nlp领域,没法做到一个txt文件只放一个数据,一般的做法是连index文件都不需要,直接一个data.json/jsonl/文件就把数据和标签都写进去了,例如 + +``` +{"question": xxx, "answer": xxx} +{"question": xxx, "answer": xxx} +{"question": xxx, "answer": xxx} +``` + +综上所述,我认为 Ianvs 项目需要添加不需要索引文件,而是直接提供数据文件的处理机制。考虑到需要尽可能对原来的 example 产生较小的影响,我通过以下的机制实现。 + +在 `core/testenvmanager/dataset/dataset.py` 中,把 `process_dataset()` 的逻辑改成:如果发现配置文件中配置了 `train_index` 或者 `test_index`,则采用原来 index 的处理方法处理数据集,如果是配置了 `train_data` 或者 `test_data`,则直接作为数据来处理。 + +另外,我在 `DatasetFormat` 中添加了 JSONL 格式,并在 `sedna.datasources` 中添加了对 JSONL 格式的处理代码 `JsonlDataParse`,读取 JSONL 文件的 `question` 和 `answer` 字段作为 x, y。 + + +### OpenCompass 集成 + +#### 为什么需要集成 OpenCompass / 集成的必要性 + +首先给出 OpenCompass 官方的一些资料: + +- [OpenCompass 官网](https://opencompass.org.cn/home) +- [OpenCompass Github](https://github.com/open-compass/opencompass) + +OpenCompass 是一个大语言模型/多模态模型的一站式评测项目,里面已经实现了对上百个 BenchMark 的支持,也给出了常见主流大模型的配置方法。通过编写配置文件,选择 datasets 和 models(也即 BenchMark 和运行评测的模型)即可直接运行评测,支持一次性在多个模型上跑多个 BenchMark 的评测。 + +例如 OpenCompass 示例中的 [eval_demo.py](https://github.com/open-compass/opencompass/blob/main/configs/eval_demo.py),只需要下面的几行代码就可以实现评测: + +```python +from mmengine.config import read_base + +with read_base(): + # 导入数据集配置,这个部分直接用就行了 + from .datasets.siqa.siqa_gen import siqa_datasets + from .datasets.winograd.winograd_ppl import winograd_datasets + # 导入模型配置,这个部分可以改成自己的模型 + from .models.opt.hf_opt_125m import opt125m + from .models.opt.hf_opt_350m import opt350m + +# 把要评测的 BenchMark 放在 datasets 中 +datasets = [*siqa_datasets, *winograd_datasets] +# 把要评测的模型放在 models 中 +models = [opt125m, opt350m] +``` + +Ianvs 项目现阶段想要实现对大模型的使用以及评估,在大模型本身基础能力方面,可以复用 OpenCompass 这个项目的成果,通过把 OpenCompass 集成进 Ianvs 项目的方式,实现相应大模型的一些基础能力的评测。 + +#### 集成的方案设计 + +OpenCompass 是一个评估大模型效果的项目,目前适配了很多的大模型和不同的benchmark。考虑到OpenCompass项目本身也一直在更新,为了防止OpenCompass的版本更新产生的影响,把OpenCompass打包成whl文件,然后通过 `pip install opencompass-xxx.whl` 的方式来安装。 + +通过这样的方式引入 OpenCompass 项目之后,我又在 `core` 目录下添加了原 OpenCompass 项目 `configs` 目录下的配置文件,并转换成 python 包的形式。这一步的目的是仍然能使用原来 OpenCompass 中的数据集配置文件。另外,我仿照 OpenCompass 的启动方式,在 Ianvs 项目根目录中添加了 `run_op.py` 来调用 OpenCompass 的 `opencompass.cli.main` 里面的 `main()` 函数启动评测。 + +评测数据集方面,依然需要按照 [OpenCompass Doc](https://opencompass.readthedocs.io/zh-cn/latest/get_started/installation.html#id2) 的方法下载解压数据集。 + +集成之后,想要对在 Ianvs 项目中的模型进行评测,只需要额外写一个 python 的配置文件,例如在 `testalgorithms` 目录下的模型文件同级目录下写一个 `op_eval.py`: + +```python +from mmengine.config import read_base +from opencompass.models import HuggingFacewithChatTemplate + +with read_base(): + from core.op_extra.datasets.cmmlu.cmmlu_gen import cmmlu_datasets + +datasets = [*cmmlu_datasets] + +models = [ + dict( + type=HuggingFacewithChatTemplate, + # 模型别名 + abbr='qwen1.5-1.8b-chat-hf', + # path 参数和 Ianvs 算法文件中的模型路径保持一致即可 + path='/home/icyfeather/models/Qwen1.5-1.8B-Chat', + max_out_len=1024, + batch_size=2, + run_cfg=dict(num_gpus=1), + stop_words=['<|im_end|>', '<|im_start|>'], + ) +] +``` + +此处的 models 配置,可以参考 OpenCompass 中的[`configs/models`](https://github.com/open-compass/opencompass/tree/main/configs/models) 中的内容,找到对应的模型示例进行编写。 + +最后,运行 `python run_op.py examples/llm/singletask_learning_bench/simple_qa/testalgorithms/gen/op_eval.py` 即可开启评测。 + +评测成功会输出这样的 summary: + +```bash +dataset version metric mode qwen1.5-1.8b-chat-hf +------------------------------------------- --------- -------- ------ ---------------------- +cmmlu-agronomy 4c7f2c accuracy gen 43.20 +cmmlu-anatomy ea09bf accuracy gen 33.78 +cmmlu-ancient_chinese f7c97f accuracy gen 32.32 +cmmlu-arts dd77b8 accuracy gen 66.88 +cmmlu-astronomy 1e49db accuracy gen 33.94 +cmmlu-business_ethics dc78cb accuracy gen 55.02 +cmmlu-chinese_civil_service_exam 1de82c accuracy gen 45.00 +cmmlu-chinese_driving_rule b8a42b accuracy gen 77.86 +cmmlu-chinese_food_culture 2d568a accuracy gen 41.91 +cmmlu-chinese_foreign_policy dc2427 accuracy gen 62.62 +cmmlu-chinese_history 4cc7ed accuracy gen 65.33 +cmmlu-chinese_literature af3c41 accuracy gen 41.18 +cmmlu-chinese_teacher_qualification 87de11 accuracy gen 60.34 +cmmlu-clinical_knowledge c55b1d accuracy gen 43.46 +cmmlu-college_actuarial_science d3c360 accuracy gen 19.81 +cmmlu-college_education df8790 accuracy gen 66.36 +cmmlu-college_engineering_hydrology 673f23 accuracy gen 44.34 +cmmlu-college_law 524c3a accuracy gen 46.30 +cmmlu-college_mathematics e4ebad accuracy gen 23.81 +cmmlu-college_medical_statistics 55af35 accuracy gen 39.62 +cmmlu-college_medicine 702f48 accuracy gen 45.79 +cmmlu-computer_science 637007 accuracy gen 51.47 +cmmlu-computer_security 932b6b accuracy gen 53.80 +cmmlu-conceptual_physics cfc077 accuracy gen 68.03 +cmmlu-construction_project_management 968a4a accuracy gen 46.04 +cmmlu-economics ddaf7c accuracy gen 56.60 +cmmlu-education c35963 accuracy gen 69.94 +cmmlu-electrical_engineering 70e98a accuracy gen 52.91 +cmmlu-elementary_chinese cbcd6a accuracy gen 45.24 +cmmlu-elementary_commonsense a67f37 accuracy gen 53.03 +cmmlu-elementary_information_and_technology d34d2a accuracy gen 68.49 +cmmlu-elementary_mathematics a9d403 accuracy gen 28.26 +cmmlu-ethnology 31955f accuracy gen 54.07 +cmmlu-food_science 741d8e accuracy gen 40.56 +cmmlu-genetics c326f7 accuracy gen 34.66 +cmmlu-global_facts 0a1236 accuracy gen 46.31 +cmmlu-high_school_biology 2be811 accuracy gen 46.15 +cmmlu-high_school_chemistry d63c05 accuracy gen 42.42 +cmmlu-high_school_geography 5cd489 accuracy gen 45.76 +cmmlu-high_school_mathematics 6b2087 accuracy gen 36.59 +cmmlu-high_school_physics 3df353 accuracy gen 43.64 +cmmlu-high_school_politics 7a88d8 accuracy gen 53.85 +cmmlu-human_sexuality 54ac98 accuracy gen 43.65 +cmmlu-international_law 0f5d40 accuracy gen 36.76 +cmmlu-journalism a4f6a0 accuracy gen 46.51 +cmmlu-jurisprudence 7843da accuracy gen 50.12 +cmmlu-legal_and_moral_basis f906b0 accuracy gen 85.51 +cmmlu-logical 15a71b accuracy gen 33.33 +cmmlu-machine_learning bc6ad4 accuracy gen 35.25 +cmmlu-management e5e8db accuracy gen 53.33 +cmmlu-marketing 8b4c18 accuracy gen 49.44 +cmmlu-marxist_theory 75eb79 accuracy gen 80.42 +cmmlu-modern_chinese 83a9b7 accuracy gen 35.34 +cmmlu-nutrition adfff7 accuracy gen 44.83 +cmmlu-philosophy 75e22d accuracy gen 49.52 +cmmlu-professional_accounting 0edc91 accuracy gen 50.29 +cmmlu-professional_law d24af5 accuracy gen 41.71 +cmmlu-professional_medicine 134139 accuracy gen 39.36 +cmmlu-professional_psychology ec920e accuracy gen 59.48 +cmmlu-public_relations 70ee06 accuracy gen 48.85 +cmmlu-security_study 45f96f accuracy gen 65.19 +cmmlu-sociology 485285 accuracy gen 48.23 +cmmlu-sports_science 838cfe accuracy gen 46.06 +cmmlu-traditional_chinese_medicine 3bbf64 accuracy gen 38.38 +cmmlu-virology 8925bf accuracy gen 48.52 +cmmlu-world_history 57c97c accuracy gen 65.84 +cmmlu-world_religions 1d0f4b accuracy gen 46.25 +07/02 18:37:34 - OpenCompass - INFO - write summary to /home/icyfeather/project/ianvs/outputs/default/20240702_180158/summary/summary_20240702_180158.txt +07/02 18:37:34 - OpenCompass - INFO - write csv to /home/icyfeather/project/ianvs/outputs/default/20240702_180158/summary/summary_20240702_180158.csv +``` + +### 不同 BenchMark 的格式分析 + +| 领域 | 典型举例 | 题型 | 答案验证方法 | +| ---- | -------- | ---- | ------------ | +| NLP | MMLU、CMMLU、C-EVAL、CCPM etc. | 多项选择题,要求输出选项 | 利用 few-shot 学会输出格式,提取答案进行比较 | +| NLP | GSM8K | 小学数学题,推理计算并输出答案 | 利用 few-shot 学会输出格式,提取答案进行比较 | +| NLP | HumanEval | 编程题,要求完成python代码 | 进行单元测试 | +| NLP | AlignBench、MTBench | 开放式、主观评价的问题 | 用GPT-4来打分 | +| NLP | Flores | 多语言翻译 | 计算 BLUE 指标 | + + +### BenchMark 中的 Prompt 分析 + +| 类别 | Prompt | +| ---- | ------ | +| 任务+格式+题干(Zeroshot) | Read the following function signature and docstring, and fully implement the function described. Your response should only contain the code for this function.\n{prompt} | +| 角色+要求+题干(Zeroshot) | You are an intelligent programming assistant to produce Python algorithmic solutions.\nCan you complete the following Python function?\n```python\n{prompt}\n``` | +| 题干+Let's think step by step(Zeroshot/Fewshot) | Question: {question}\nLet's think step by step\nAnswer: | +| 题干(Fewshot/Zeroshot) | Translate the following {_src_inst} statements to {_tgt_inst}.\n{{sentence_{_flores_source}}} | +| 题干+直接输出答案(Zeroshot) | 以下是中国{{exam_type}}中{{exam_class}}考试的一道{{question_type}},不需要做任何分析和解释,直接输出答案选项。\n{{question}}\n{{option_str}} \n 答案: | +| Judge Prompt - 给出打分方向 + 直接对答案打分 | [指导]请充当一个公正的评委,评估AI助手对以下用户问题的回应质量。您的评估应考虑回应的实用性、相关性、准确性、深度、创造性和详细程度等因素。开始您的评估,提供简要解释。请尽量客观。在提供解释后,您必须按照以下格式严格给出对回应的评分,使用这个格式:“[[评分]]”,例如:“评分:[[5]]”。[问题]{问题}[助手回答的开始]{回答}[助手回答的结束] | +| Judge Prompt - 给出打分方向+参考答案+答案进行参考式打分 | 你是一个擅长评价文本质量的助手。\n请你以公正的评判者的身份,评估一个AI助手对于用户提问的回答的质量。由于您评估的回答类型是专业能力,因此你需要从下面的几个维度对回答进行评估:\n1. 事实正确性: 回答中提供的信息是否准确无误,是否基于可信的事实和数据。\n2. 满足用户需求: 回答是否满足了用户提出问题的目的和需求,是否对问题进行了全面而恰当的回应。\n3. 清晰度: 回答是否表达清晰、易懂,是否使用了简洁的语言和结构,以便用户可以轻松理解。\n4. 完备性: 回答是否提供了足够的信息和细节,以满足用户的需求,是否遗漏了重要的方面。\n我们会给您提供用户的提问,高质量的参考答案,和需要你评估的AI助手的答案。当你开始你的评估时,你需要按照遵守以下的流程:\n1. 将AI助手的答案与参考答案进行比较,指出AI助手的答案有哪些不足,并进一步解释。\n2. 从不同维度对AI助手的答案进行评价,在每个维度的评价之后,给每一个维度一个1~10的分数。\n3. 最后,综合每个维度的评估,对AI助手的回答给出一个1~10的综合分数。\n4. 你的打分需要尽可能严格,并且要遵守下面的评分规则:总的来说,模型回答的质量越高,则分数越高。其中,事实正确性和满足用户需求这两个维度是最重要的,这两个维度的分数主导了最后的综合分数。当模型回答存在与问题不相关,或者有本质性的事实错误,或生成了有害内容时,总分必须是1到2分;当模型回答没有严重错误而且基本无害,但是质量较低,没有满足用户需求,总分为3到4分;当模型回答基本满足用户要求,但是在部分维度上表现较差,质量中等,总分可以得5到6分;当模型回答质量与参考答案相近,在所有维度上表现良好,总分得7到8分;只有当模型回答质量显著超过参考答案,充分地解决了用户问题和所有需求,并且在所有维度上都接近满分的情况下,才能得9到10分。作为示例,参考答案可以得到8分。\n请记住,你必须在你打分前进行评价和解释。在你对每个维度的解释之后,需要加上对该维度的打分。之后,在你回答的末尾,按照以下字典格式(包括括号)返回你所有的打分结果,并确保你的打分结果是整数:\n{'维度一': 打分, '维度二': 打分, ..., '综合得分': 打分},例如:{'事实正确性': 9, '满足用户需求': 6, ..., '综合得分': 7}。\n用户的提问: 高音单簧管和高音萨克斯的调性相同吗?如果相同,请说出他们的调性,如果不同,请分别说出他们的调性\n[参考答案开始]\n高音单簧管和高音萨克斯的调性不同。高音单簧管的调性通常为E♭,而高音萨克斯的调性则为B♭。\n\n[参考答案结束]\n[助手的答案开始]\n两种乐器的调性是不同的。高音单簧管的调性是bB(B-flat),而高音萨克斯(Soprano saxophone)的调性是B(B)。\n[助手的答案结束] + + +### BenchMark 中的数据生成方法 + +| 类别 | 详细描述 | +| ---- | -------- | +| 人工收集 | 从网上公开的考试、资料中收集题目 | +| 人工编写 | 全部手动编写 | +| 种子问题+人工 | 写好一些种子问题,找承包商参考种子问题构造数据 | +| 相似样例随机替换 | 检索相似度在(0.5, 0.8)之间的(相似但是不那么相似)数据作为负样例混淆选项 | +| 相似样例 + 随机样例 | 候选选项列表由三部分组成:正确答案、 相似答案、随机答案 | +| GPT生成 + 人工修改 | 先利用GPT4生成,然后再人工精细修改答案 | + +### BenchMark 难度 + +从效果上来说,BenchMark 需要能起到区分模型能力的作用,所以 BenchMark 必须具有一定的难度,综合来看,基本上是大模型只能拿个20%-60%分数的水平。 + +从设计上来说,BenchMark 需要覆盖多个维度的能力评估、有的还会分不同的难度等级,客观上本身就存在难度,所以大模型得分不高是意料之中的事情。 + +### BenchMark 总结 - 接口设计方法 + +结合上面对 BenchMark 的调研分析,以及对 OpenCompass 项目中集成不同的 BenchMark 的方法参考,总结认为 BenchMark 的接口应该提供以下信息: + +1. 推理部分 +1.1 data +这个部分就是数据集本身,但是有一个要求,那就是数据必须要分字段,例如对于 jsonl 格式的数据,可以是 {"question": "xxx", "answer": "xxx"} 这样 +1.2 Prompt Template +这个部分需要和 1.1 data 相结合使用,prompt 中有的部分需要替换成 data 中的字段,例如:The Question is {question}. The Answer is {answer} 这样 +1.3 Retriever +这个 Retriever 提供检索的相关内容,可以是 Zeroshot、OneShot、Fewshot,其中对于Fewshot,又可以分为FixKRetriever(固定的几个样例)、RandomRetriever(随机的样例)、TopkRetriever(例如可以通过SentenceTransformer和faiss来计算相似度,检索出来最相似的K个样例)等 +2. 评估部分 +2.1 字符串处理 +由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 +2.2 评估打分 +给出打分的算法 + +## 时间规划 + +- 6月到7月中旬 +实现 OpenCompass 项目的集成,在 Ianvs 上实现 LLM single task learning 样例 +- 7月中旬到8月中旬 +以政务数据集为例,构建一套测试集、测试指标、测试环境、使用指南 +- 8月中旬到9月中旬 +优化 Ianvs 上的评估,实现任务监控、可视化等功能 +- 9月中旬到9月底 +如果有时间精力,看情况实现工业/医疗大模型测试套件,包括指标和样例 + + + + + From 77540884e0d63c36b13d08db6ad9850c4760e1b0 Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Thu, 18 Jul 2024 17:05:19 +0800 Subject: [PATCH 2/6] update llm benchmark proposal Signed-off-by: IcyFeather --- .../llm-benchmarks/llm-benchmarks.md | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md index ce1ccd7f..28dec60a 100644 --- a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md @@ -338,17 +338,28 @@ cmmlu-world_religions 1d0f4b accuracy gen 结合上面对 BenchMark 的调研分析,以及对 OpenCompass 项目中集成不同的 BenchMark 的方法参考,总结认为 BenchMark 的接口应该提供以下信息: 1. 推理部分 -1.1 data -这个部分就是数据集本身,但是有一个要求,那就是数据必须要分字段,例如对于 jsonl 格式的数据,可以是 {"question": "xxx", "answer": "xxx"} 这样 -1.2 Prompt Template -这个部分需要和 1.1 data 相结合使用,prompt 中有的部分需要替换成 data 中的字段,例如:The Question is {question}. The Answer is {answer} 这样 -1.3 Retriever -这个 Retriever 提供检索的相关内容,可以是 Zeroshot、OneShot、Fewshot,其中对于Fewshot,又可以分为FixKRetriever(固定的几个样例)、RandomRetriever(随机的样例)、TopkRetriever(例如可以通过SentenceTransformer和faiss来计算相似度,检索出来最相似的K个样例)等 + + 1.1 data + + 这个部分就是数据集本身,但是有一个要求,那就是数据必须要分字段,例如对于 jsonl 格式的数据,可以是 {"question": "xxx", "answer": "xxx"} 这样 + + 1.2 Prompt Template + + 这个部分需要和 1.1 data 相结合使用,prompt 中有的部分需要替换成 data 中的字段,例如:The Question is {question}. The Answer is {answer} 这样 + + 1.3 Retriever + + 这个 Retriever 提供检索的相关内容,可以是 Zeroshot、OneShot、Fewshot,其中对于Fewshot,又可以分为FixKRetriever(固定的几个样例)、RandomRetriever(随机的样例)、TopkRetriever(例如可以通过SentenceTransformer和faiss来计算相似度,检索出来最相似的K个样例)等 + 2. 评估部分 -2.1 字符串处理 -由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 -2.2 评估打分 -给出打分的算法 + + 2.1 字符串处理 + + 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + + 2.2 评估打分 + + 给出打分的算法 ## 时间规划 From f5d74a13e61853d160cdbb84453ee0b7d62a2c6f Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Fri, 19 Jul 2024 11:11:40 +0800 Subject: [PATCH 3/6] update llm benchmark proposal Signed-off-by: IcyFeather --- .../images/data_process_change.png | Bin 0 -> 54928 bytes .../llm-benchmarks/images/structure.png | Bin 0 -> 65798 bytes .../llm-benchmarks/llm-benchmarks.md | 97 +++++++++++++++++- 3 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/data_process_change.png create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/structure.png diff --git a/docs/proposals/scenarios/llm-benchmarks/images/data_process_change.png b/docs/proposals/scenarios/llm-benchmarks/images/data_process_change.png new file mode 100644 index 0000000000000000000000000000000000000000..110eb182fc1e747d3ffd8b2bbe69d7b88b1236eb GIT binary patch literal 54928 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

{0MKMYw6=-C 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 literal 0 HcmV?d00001 diff --git a/docs/proposals/scenarios/llm-benchmarks/images/structure.png b/docs/proposals/scenarios/llm-benchmarks/images/structure.png new file mode 100644 index 0000000000000000000000000000000000000000..9f556f0c569e4c3ff365d37e2a8e68c779c68ce9 GIT binary patch literal 65798 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 literal 0 HcmV?d00001 diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md index 28dec60a..5689a530 100644 --- a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md @@ -127,7 +127,9 @@ simple_qa 是我设计的一个简单的QA问答任务,测试集部分内容 通过LLM来回答所选答案,提取回答中的答案的方式,来与正确答案进行比对,计算acc准确率 -另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制。 +另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制,如图。 + +![](images/data_process_change.png) 在之前的项目中,我们需要在 `testenv.yaml` 文件中配置 `train_url` 和 `test_url` 索引文件的路径,索引文件中会放 (输入x, 期望输出y) 的文件路径,这个设计是存在一些局限性的。 @@ -184,6 +186,10 @@ OpenCompass 是一个评估大模型效果的项目,目前适配了很多的 通过这样的方式引入 OpenCompass 项目之后,我又在 `core` 目录下添加了原 OpenCompass 项目 `configs` 目录下的配置文件,并转换成 python 包的形式。这一步的目的是仍然能使用原来 OpenCompass 中的数据集配置文件。另外,我仿照 OpenCompass 的启动方式,在 Ianvs 项目根目录中添加了 `run_op.py` 来调用 OpenCompass 的 `opencompass.cli.main` 里面的 `main()` 函数启动评测。 +整理的结构设计如图: + +![](images/structure.png) + 评测数据集方面,依然需要按照 [OpenCompass Doc](https://opencompass.readthedocs.io/zh-cn/latest/get_started/installation.html#id2) 的方法下载解压数据集。 集成之后,想要对在 Ianvs 项目中的模型进行评测,只需要额外写一个 python 的配置文件,例如在 `testalgorithms` 目录下的模型文件同级目录下写一个 `op_eval.py`: @@ -353,13 +359,94 @@ cmmlu-world_religions 1d0f4b accuracy gen 2. 评估部分 - 2.1 字符串处理 + 2.1 客观评估 + + 2.1.1 字符串处理 + + 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + + 2.1.2 评估打分 + + 给出打分的算法,算法需要直接返回分数,分数是一个json,可以有多个维度的分数 + + 2.2 主观评估 + + 2.2.1 Prompt Template - 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + 这个 Template 是 GPT-4 这种 Judge Model 的 Prompt,需要留一个 infer_result 的字段。Judge Model 会根据这个 Prompt 来打分。 - 2.2 评估打分 + 2.2.2 获取分数 + + 从 Judge Model 的结果中获取分数,分数是一个json,可以有多个维度的分数 + + +### BenchMark 格式示例 + +BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定性。 + +`data.json` + +只保存和数据本身有关的部分。 + +```json +{ + "keys": ["key1", "key2", "answer_key"], + "answer_key": "answer_key", + "data": [{"key1": "xxx", "key2": "xxx", "answer_key": "xxx"}, {"key1": "xxx", "key2": "xxx", "answer_key": "xxx"}], +} +``` + +`prompt.json` + +提供 model infer 的 prompt 模版。例如: + +```json +{ + "infer_system_prompt": "You ara a xxxx assistant.", + "infer_user_template": "Question: The question type is {type}, the question is {question}, What is the answer?", + "infer_answer_template": "The Answer is {answer_key}", + "eval_prompt_template": "The model infer answer is {infer_answer}, the reference data is {ref}, Please give a score between 1 to 10." +} +``` + +至于是使用 ZeroShot/OneShot/FewShot,其实都是用增加 chat message history 的方式,这部分由不同模型自己实现即可。 + +chat history: + +``` +chat = [ + {"role": "user", "content": "Hello, how are you?"}, + {"role": "assistant", "content": "I'm doing great. How can I help you today?"}, + {"role": "user", "content": "I'd like to show off how chat templating works!"}, +] +``` + +可以看到在这一轮 user 的问题之前,已经有了一轮 user 和 assistant 的对话。这整个 chat 是直接传给模型的。 +模型可以根据上下文进行学习。 + +举个例子,如果是 3-shot,以 HuggingFace 上的 zephyr-7b-beta 模型为例: + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer + +checkpoint = "HuggingFaceH4/zephyr-7b-beta" +tokenizer = AutoTokenizer.from_pretrained(checkpoint) +model = AutoModelForCausalLM.from_pretrained(checkpoint) + +messages = [ + {"role": "system","content": "You are an expert at solving problems."}, + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, +] +tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt") +print(tokenizer.decode(tokenized_chat[0])) +``` - 给出打分的算法 ## 时间规划 From 6862f88c8cfc41e05a42500b4aed60b059a82fcd Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Fri, 19 Jul 2024 11:17:03 +0800 Subject: [PATCH 4/6] update llm benchmark proposal Signed-off-by: IcyFeather --- .../scenarios/llm-benchmarks/llm-benchmarks.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md index 5689a530..57b31349 100644 --- a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md @@ -409,6 +409,8 @@ BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定 } ``` +如果需要有别的prompt信息,也可以加进去。 + 至于是使用 ZeroShot/OneShot/FewShot,其实都是用增加 chat message history 的方式,这部分由不同模型自己实现即可。 chat history: @@ -450,13 +452,13 @@ print(tokenizer.decode(tokenized_chat[0])) ## 时间规划 -- 6月到7月中旬 +- **6月到7月中旬** 实现 OpenCompass 项目的集成,在 Ianvs 上实现 LLM single task learning 样例 -- 7月中旬到8月中旬 +- **7月中旬到8月中旬** 以政务数据集为例,构建一套测试集、测试指标、测试环境、使用指南 -- 8月中旬到9月中旬 +- **8月中旬到9月中旬** 优化 Ianvs 上的评估,实现任务监控、可视化等功能 -- 9月中旬到9月底 +- **9月中旬到9月底** 如果有时间精力,看情况实现工业/医疗大模型测试套件,包括指标和样例 From 4b6afa1ec8ea1cb4d579b7a6b836293e918514f0 Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Wed, 31 Jul 2024 23:48:15 +0800 Subject: [PATCH 5/6] translate llm-benchmark proposal Signed-off-by: IcyFeather --- .../llm-benchmarks/llm-benchmarks-zh.md | 467 ++++++++++++++++++ .../llm-benchmarks/llm-benchmarks.md | 279 ++++++----- 2 files changed, 623 insertions(+), 123 deletions(-) create mode 100644 docs/proposals/scenarios/llm-benchmarks/llm-benchmarks-zh.md diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks-zh.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks-zh.md new file mode 100644 index 00000000..57b31349 --- /dev/null +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks-zh.md @@ -0,0 +1,467 @@ +# 行业大模型基准测试套件:基于KubeEdge-Ianvs实现 + +大模型进入规模化应用时代,云已为大模型提供基础设施和服务,相关客户进一步提出包括个性化、数据合规、实时性等边缘侧的针对性应用需求,而云边协同的人工智能服务成为大趋势。但是,当前在产品定义、服务质量、服务资质、行业影响力等方面,存在通用竞争力和客户信任问题两大挑战,其症结在于,当前大模型基准测试聚焦对通用基础能力的考核,未能从行业角度牵引大模型应用。本项目从大模型产业以及云边协同人工智能角度、藉由行业应用反映大模型真实价值,以行业基准测试牵引大模型应用孵化。本项目基于协同人工智能基准测试套件KubeEdge-Ianvs,补充大模型测试工具接口,配套测试数据集,并构建政务等行业大模型测试套件。 + +目前Ianvs项目有以下问题需要解决: + +1. 缺少灵活的数据集读取方式 +Ianvs当前的数据集读取部分是由两年前的[simulation部分](https://github.com/kubeedge/ianvs/blob/main/docs/proposals/simulation/simulation.md)实现引入,目前仅支持少数几种数据集读取方式,例如使用index.txt配置,并且依赖于`sedna.datasources`这个库,如果需要实现新的数据集读取类,不仅需要修改Ianvs项目,还需要对应的修改sedna项目的代码 +2. 缺少一个大模型的example +Ianvs项目在之前主要关注于图像处理的模型,对于大规模语言模型并没有相关示例,这可能会对想在Iavns项目上使用大模型的用户造成一些困难,如果能有一个大模型的示例,他们会更容易上手使用 +3. 缺少一个大模型benchmark +数据集的格式多种多样,想要对大模型的效果评估进行适配,建立一个大模型的基准测试,需要定义好一个通用的接口,这个过程中需要调研多种模态的数据形式,并找到一个最好的接口设计 + +## Goals + +1. 调研数据集,形成一份较为全面的包括多种行业场景的测试数据集的数据集地图 +2. 完成大模型的single task learning的example,帮助想在Ianvs中使用LLM的用户上手使用 +3. 集成OpenCompass等开源项目,通过提供模型API地址和Key实现在线大模型调用 +4. 比较各种数据集接口的优劣,并指定一个通用的benchmark接口格式 +5. 聚焦NLP或多模态类任务,以政务行业为例构筑套件,包括测试集、测试指标、测试环境、使用指南 + +## Design Details + +### Dataset Map + +#### Government Affairs + +| Dataset Name | Summary | Link | +| --- | --- | --- | +| SUM: A Benchmark Dataset of Semantic Urban Meshes | A new benchmark dataset of semantic urban meshes is introduced, covering an area of approximately 4 square kilometers in Helsinki, Finland, with six classes of objects. A significant amount of labeling work is saved through a semi-automatic annotation framework. | [Link](https://3d.bk.tudelft.nl/projects/meshannotation/) | +| "15-Minute Living Circle" Planning Dataset for Urban Communities | A deep reinforcement learning-based approach for urban community spatial planning is proposed and millions of plans have been conducted in a virtual urban environment, learning urban planning capabilities from a vast amount of data. | [Link](https://github.com/tsinghua-fib-lab/DRL-urban-planning) | +| Walk score of all main Chinese cities | We are sharing the year-2014 “Walk Score” in GIS Shapefiles for more than 700,000 streets in 287 main cities (at or above prefecture-level) in mainland China. The Walk Scores range from 0 to 100, where 100 indicates the highest walkability. Please unzip the following two files and put them in the same directory and in this way you will be able to open the GIS file. Eleven attributes are available in the data, including walk score of the street (WS), ID of the street (STREET_ID), ID of the city (CITY_ID), name of the city in Chinese (NAME), name of the city in pinyin (PINYIN), level of the city (CITY_LEVEL), street segment length in meters (LENGTH_M), width of the road in meters (width_m), function density (function_d), function mix (function_m), as well as junction density (junction_d). | [Link](https://www.beijingcitylab.com/data-released-1/) | +| Urban vacant land of 36 major Chinese cities | The data include two parts: (1) urban vacant land of 36 major Chinese cities (in shapefile format), and (2) codes and data used for automatic vacant land identification. Urban vacant land is a growing issue worldwide. The study is aimed to realize large-scale automatic identification of urban vacant land. A framework based on deep learning techniques is proposed to extract urban vacant land of 36 major Chinese cities through semantic segmentation of high-resolution remote sensing images. The automatic identification framework is proved to be accurate and efficient, with strong robustness. This method is expected to serve as a practical approach in various countries and regions. The data of urban vacant land of 36 cities can be used in further studies. | [Link](https://www.beijingcitylab.com/data-released-1/) | +| Functional urban areas of China | We are sharing the Didi car hailing records derived functional urban areas of China in the format of GIS ShapeFiles. Please cite our paper when you use the data. | [Link](https://www.beijingcitylab.com/data-released-1/) | +| Urban blocks in 63 Chinese cities | We are sharing 141375 street blocks in 63 Chinese cities in 2017 in the format of GIS ShapeFiles. The data depicts street block scale three-dimensional attributes of these Chinese cities. They were computed using the 3.357 million large-scale three-dimensional building data (footprint with floor number). | [Link](https://www.beijingcitylab.com/data-released-1/) | +| OpenStreetMap | An open map dataset that includes global road network information, which can be used for traffic planning and analysis. | [Link](https://www.openstreetmap.org/) | +| Traffic4Cast | This is a dataset for a traffic forecasting challenge, containing traffic images and associated metadata from multiple cities for short-term traffic prediction. | [Link](https://github.com/iarai/NeurIPS2022-traffic4cast) | +| LargeST | This is a large-scale traffic flow forecasting benchmark dataset, encompassing 5 years of temporal coverage from 8,600 sensors in California, and includes comprehensive metadata. | [Link](https://github.com/liuxu77/LargeST) | +| PeMS | The California Department of Transportation's Performance Measurement System (PeMS) provides traffic flow data, which is commonly used for traffic management and forecasting research. | [Link](https://ar5iv.labs.arxiv.org/html/2306.08259) | +| Urban100 | This is an urban building recognition dataset, which includes 100 urban building images for training and evaluating deep learning models. | [Link](https://github.com/jbhuang0604/SelfExSR) | +| Epidemic Situation Government Q&A Dataset | Government Q&A data related to the epidemic. | [Link](https://aistudio.baidu.com/datasetdetail/23958) | +| Chinese_Rumor_Dataset | The data is Chinese rumor data scraped from the Sina Weibo false information reporting platform. | [Link](https://github.com/thunlp/Chinese_Rumor_Dataset) | +| Teddy Cup Government Data | This dataset contains data from a government messaging system. | [Link](https://github.com/Syucryingstar/NLP_tipdm/blob/master/%E5%85%A8%E9%83%A8%E6%95%B0%E6%8D%AE/%E9%99%84%E4%BB%B63.xlsx) | +| Urban Waste Classification Dataset | This dataset is for urban waste classification, dividing waste into four categories: dry waste, wet waste, hazardous waste, and recyclable waste. The images include plastic bottles, cherry tomatoes, used batteries, wads of toilet paper, and coffee cup lids. The number of images is 457. | [Link](https://aistudio.baidu.com/datasetdetail/22032) | +| Trash Annotations in Context | Garbage annotation in the scene, garbage classification/garbage identification/garbage instance segmentation, using COCO format annotation, compatible with pycocotools, including 1000 images. | [Link](https://aistudio.baidu.com/datasetdetail/103241) | +| Garbage Identification Dataset | Garbage identification dataset consisting of 15,515 images. | [Link](https://aistudio.baidu.com/datasetdetail/163725) | +| Domestic Waste Classification and Identification Project Dataset | Dataset for the domestic waste classification and identification project. | [Link](https://aistudio.baidu.com/datasetdetail/180004) | +| Indoor Trash Bin Identification Example Dataset | This is an example dataset that can be used for the training of AI agents and for data testing in scientific research projects. The dataset includes 100 sets of indoor trash bin images from different types, angles, and distances (1 rendering image + 1 semantic image). | [Link](https://aistudio.baidu.com/datasetdetail/119074) | +| Online Forum Sentiment Analysis | Sentiment analysis of online forum discussions. | [Link](https://aistudio.baidu.com/datasetdetail/241555) | +| Weibo Sentiment Data (Including Epidemic Data) | Weibo sentiment data, including data related to the epidemic. | [Link](https://aistudio.baidu.com/datasetdetail/228241) | +| Twitter Threat Sentiment | Sentiment analysis of threats on Twitter. | [Link](https://aistudio.baidu.com/datasetdetail/101917) | +| Fake News Data | Fake news data. | [Link](https://aistudio.baidu.com/datasetdetail/54033) | +| U.S. Fake News Data | This data is a labeled fake news dataset, which includes fake news data identified using the Chrome BS Detector extension tool from 244 websites. | [Link](https://aistudio.baidu.com/datasetdetail/69660) | +| Weibo Fake News Dataset | Weibo: 4,664 events, (2,313/2,351 Rumor/NonRumor), 3,805,656 posts, 2,746,818 users. Average number of posts per event: 816. Maximum number of posts. | [Link](https://aistudio.baidu.com/datasetdetail/56506) | +| Fake News Detection Dataset | Determine whether the news is fake by using both text and image data contained in the news. | [Link](https://aistudio.baidu.com/datasetdetail/127722) | +| Internet Fake News Detection During the Epidemic Period | Internet fake news detection during the epidemic period. | [Link](https://aistudio.baidu.com/datasetdetail/31690) | +| Chatgpt Politically Related Dataset | Politics is considered politically related; everything else is not. Categories include: {'Technology': 0, 'Stocks': 1, 'Sports': 2, 'Entertainment': 3, 'Politics': 4, 'Society': 5, 'Education': 6, 'Finance': 7, 'Home': 8, 'Games': 9, 'Real Estate': 10, 'Fashion': 11, 'Lottery': 12, 'Horoscope': 13}. | [Link](https://aistudio.baidu.com/datasetdetail/199569) | +| Questioning Government Message Dataset | The dataset contains 9,832 messages, divided into six parts, including "Message ID," "Message User," "Message Subject," "Message Time," "Message Details," and "Primary Classification." | [Link](https://aistudio.baidu.com/datasetdetail/124792) | + + +#### Industry + +| Dataset Name | Summary | Link | +| --- | --- | --- | +| A benchmark dataset with Knowledge Graph generation for Industry 4.0 production lines | This dataset aims to develop a benchmark dataset for the generation of Knowledge Graphs, showcasing the benefits of using ontologies and semantic annotations of data. | [Link](https://www.x-mol.net/paper/article/1757834457582899200) | +| Cityscapes Dataset | A detailed urban street scene dataset containing 5000 videos for assessing the vision systems of autonomous driving vehicles. | [Link](https://www.cityscapes-dataset.com/) | +| ISTD-PDS7 | A benchmark dataset for multi-type pavement distress segmentation from CCD images in complex scenarios. | [Link](https://www.x-mol.net/paper/article/1639539700376416256) | +| OPV2V | The first large-scale open dataset for perception with V2V (Vehicle-to-Vehicle) communication: Provides a comprehensive benchmark with up to 16 models and a complete code framework. | [Link](https://mobility-lab.seas.ucla.edu/opv2v/) | +| Industrial Benchmark Dataset | This dataset is related to industrial control problems and is used to evaluate offline reinforcement learning algorithms. | [Link](https://github.com/siemens/industrialbenchmark) | +| Benchmark datasets incorporating diverse tasks, sample sizes, material systems, and data heterogeneity for materials informatics | A unique repository that includes 50 different datasets of material properties. | [Link](https://www.sciencedirect.com/science/article/pii/S2352340921005461) | +| PDEBench | A comprehensive benchmark for scientific machine learning. | [Link](https://github.com/pdebench/PDEBench) | +| WHU-TLS benchmark dataset | This dataset contains 115 scans with over 17.4 million 3D points from 11 different environments. It provides ground truth transformations, transformations calculated by Dong et al. (2018), and registration graphs for researchers. It can be used for applications such as safe railway operation, river survey and management, forest structure assessment, cultural heritage preservation, landslide monitoring, and underground asset management. | [Link](https://3s.whu.edu.cn/ybs/en/benchmark.htm) | +| LandBench 1.0 | A benchmark dataset that includes a large number of hydrological variables to evaluate land cover classification algorithms. | [Link](https://www.sciencedirect.com/science/article/pii/S095741742303419X) | +| NetBench | A large-scale and comprehensive network traffic benchmark dataset that includes multiple datasets and classification tasks for network traffic classification and analysis. | [Link](https://arxiv.org/html/2403.10319v1) | +| Tianchi Intelligent Manufacturing Quality Prediction Dataset | This dataset provides sampling data from the production line, reflecting factors such as machine temperature, gas, liquid flow, power, and manufacturing time. Researchers are required to design models to accurately predict the corresponding characteristic values. This is a typical regression prediction problem. | [Link](https://tianchi.aliyun.com/dataset/140667) | +| Aluminum Profile Surface Defect Recognition Dataset | This dataset comes from actual production monitoring images of aluminum profiles with defects. Each image contains one or more defects, and the sample images for machine learning will clearly identify the types of defects contained in the images. | [Link](https://tianchi.aliyun.com/dataset/140666) | +| Alibaba Cloud Infrastructure Supply Chain Inventory Management Decision Dataset | Supply chain lean management, as a new interdisciplinary field under the scenarios of the Internet and cloud computing, is at the core of Industry 4.0 and is a highly challenging issue for both academia and industry. This dataset focuses on solving at the replenishment unit level (the smallest unit of inventory management), given a period of historical demand data, current inventory data, replenishment lead time, and information related to the replenishment unit (product dimension and geographical dimension), researchers can use technologies such as "time series forecasting" and "operational research optimization" to make corresponding inventory management decisions. The aim is to reduce inventory levels and costs while ensuring that inventory is highly likely to meet demand without interruption. | [Link](https://tianchi.aliyun.com/dataset/138679) | +| Ceramic Tile Defect Detection Dataset | The data comes from a well-known ceramic tile manufacturer in Foshan, Guangdong Province. Data collection was carried out by setting up professional shooting equipment on the production line to capture real data from the manufacturing process, covering all common defects in the ceramic tile production line, including powder clumps, corner cracks, glaze drops, ink breaks, B holes, dirt spots, edge cracks, missing corners, brick debris, and white edges. | [Link](https://tianchi.aliyun.com/dataset/110088) | +| KITTI Autonomous Driving Dataset | KITTI includes a suite of vision tasks built using an autonomous driving platform. The full benchmark contains many tasks such as stereo, optical flow, visual odometry, etc. This dataset contains the object detection dataset, including monocular images and bounding boxes. The dataset contains 7,481 training images annotated with 3D bounding boxes. | [Link](https://tianchi.aliyun.com/dataset/92225) | +| Textile Defect Detection Dataset | The Tianchi platform delved into the textile workshop in Nanhai, Foshan, to collect images of textiles on site, creating and releasing a large-scale, high-quality textile flaw dataset, while also providing detailed annotations to meet the requirements of algorithms. The competition data covers various important flaws in the textile industry, with each image containing one or more flaws. | [Link](https://tianchi.aliyun.com/dataset/79336) | +| Turbine Blade Defect Dataset | This dataset is specifically created for the research of defect detection and identification in aircraft engines. The dataset includes a series of images of turbine blades and related defect annotation information. By using this dataset, researchers and engineers can carry out training, evaluation, and optimization of machine learning and deep learning algorithms for engine defects. | [Link](https://tianchi.aliyun.com/dataset/154228) | +| Industrial Steam Volume Prediction Dataset | Industrial Steam Volume Prediction Dataset | [Link](https://tianchi.aliyun.com/dataset/130516) | + +#### Medical + +| Dataset Name | Summary | Link | +| --- | --- | --- | +| MedMNIST | A medical image dataset including 10 preprocessed open medical image datasets covering main medical image modalities and a variety of data scales, aiming to provide a lightweight benchmark for AutoML in medical image classification. | [Link](https://www.heywhale.com/mw/dataset/5fa0fc9cca48e0003010a2e7) | +| CMB (Chinese Medical Benchmark) | A comprehensive Chinese medical benchmark test with 280,839 multiple-choice questions and 74 complex case consultation questions, covering all clinical medical specialties and various professional levels, to evaluate a model's medical knowledge and clinical consultation capabilities holistically. | [Link](https://cmedbenchmark.llmzoo.com/) | +| MedicalGPT Wiki | Provides a 2.4 million Chinese medical dataset, including pre-training, instruction fine-tuning, and reward datasets, as well as a 220,000 Chinese medical dialogue dataset. | [Link](https://github.com/shibing624/MedicalGPT/wiki/Data-Collection) | +| ChestX-ray14 | A medical imaging dataset with 112,120 frontal-view X-ray images of 30,805 unique patients, labeled with fourteen common disease categories derived from radiological reports using NLP techniques, expanding on ChestX-ray8 by adding six additional thorax diseases. | [Link](https://nihcc.app.box.com/v/ChestXray-NIHCC/file/220660789610) | +| MIMIC | A large, freely-available database containing deidentified health-related data from patients admitted to the critical care units of the Beth Israel Deaconess Medical Center. | [Link](https://mimic.mit.edu/) | +| ISIC (International Skin Imaging Collaboration) | A dataset containing images of skin lesions for skin cancer detection and classification. | [Link](https://www.isic-archive.com/) | +| Chinese Medical Information Processing Evaluation Benchmark CBLUE | Includes various datasets such as Chinese medical named entity recognition and Chinese medical text entity relationship extraction. | [Link](https://tianchi.aliyun.com/dataset/95414?lang=zh-cn) | +| CHIP2022-Medical Text Diagnostic Decision Tree Extraction Task | Clinical diagnostic and treatment processes are core medical knowledge and play an important role in building clinical auxiliary diagnostic and treatment systems, automatic medical consultation robots, and other applications. The Text2DT task defined in this dataset aims to model the clinical diagnostic and treatment process as a diagnostic decision tree, which is a tree structure composed of condition nodes and decision nodes. | [Link](https://tianchi.aliyun.com/dataset/135065) | +| CHIP2022-Medical List Invoice OCR Element Extraction Task | The dataset includes four types of medical records: outpatient invoices, inpatient invoices, medication tax invoices, and discharge summaries. The main focus is on extracting data from life scene images and generating electronic structured data. | [Link](https://tianchi.aliyun.com/dataset/131815) | +| Chinese Medical Named Entity Recognition Dataset (CMeEE) | The dataset includes 504 common pediatric diseases, 7,085 body parts, 12,907 clinical manifestations, 4,354 medical procedures, and other nine major categories of medical entities, with a training set of 15,000 entries, a validation set of 5,000 entries, and a test set of 3,000 entries. | [Link](https://tianchi.aliyun.com/dataset/144495) | + +### LLM Single-Task-Learning Example + +`examples/llm` 目录结构: + +``` +llm +└── singletask_learning_bench + └── simple_qa + ├── benchmarkingjob.yaml + ├── testalgorithms + │ └── gen + │ ├── basemodel.py + │ ├── gen_algorithm.yaml + │ ├── op_eval.py + └── testenv + ├── acc.py + └── testenv.yaml +``` + +simple_qa 是我设计的一个简单的QA问答任务,测试集部分内容如下: + +``` +{"question": "如果小明有5个苹果,他给了小华3个,那么小明还剩下多少个苹果?\nA. 2个\nB. 3个\nC. 4个\nD. 5个", "answer": "A"} +{"question": "下列哪个数是最小的质数?\nA. 0\nB. 1\nC. 2\nD. 4", "answer": "C"} +{"question": "一个长方形的长是10厘米,宽是5厘米,它的周长是多少厘米?\nA. 20厘米\nB. 30厘米\nC. 40厘米\nD. 50厘米", "answer": "B"} +{"question": "下列哪个分数是最接近1的?\nA. 1/2\nB. 3/4\nC. 4/5\nD. 5/6", "answer": "D"} +{"question": "如果一个数加上10等于30,那么这个数是多少?\nA. 20\nB. 21\nC. 22\nD. 23", "answer": "A"} +``` + +通过LLM来回答所选答案,提取回答中的答案的方式,来与正确答案进行比对,计算acc准确率 + +另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制,如图。 + +![](images/data_process_change.png) + +在之前的项目中,我们需要在 `testenv.yaml` 文件中配置 `train_url` 和 `test_url` 索引文件的路径,索引文件中会放 (输入x, 期望输出y) 的文件路径,这个设计是存在一些局限性的。 + +以往的ianvs项目似乎是以cv为主,对于nlp的example似乎没有,所以数据集读取方面,一般采用的方式是写一个index.txt,这个文件里面放(数据,标注)对,然后又有一个放数据的文件夹,一个放标注的文件夹,一个文件就是一个数据。一张图片一个数据,这在cv领域是可以理解的,但是如果换到nlp领域,没法做到一个txt文件只放一个数据,一般的做法是连index文件都不需要,直接一个data.json/jsonl/文件就把数据和标签都写进去了,例如 + +``` +{"question": xxx, "answer": xxx} +{"question": xxx, "answer": xxx} +{"question": xxx, "answer": xxx} +``` + +综上所述,我认为 Ianvs 项目需要添加不需要索引文件,而是直接提供数据文件的处理机制。考虑到需要尽可能对原来的 example 产生较小的影响,我通过以下的机制实现。 + +在 `core/testenvmanager/dataset/dataset.py` 中,把 `process_dataset()` 的逻辑改成:如果发现配置文件中配置了 `train_index` 或者 `test_index`,则采用原来 index 的处理方法处理数据集,如果是配置了 `train_data` 或者 `test_data`,则直接作为数据来处理。 + +另外,我在 `DatasetFormat` 中添加了 JSONL 格式,并在 `sedna.datasources` 中添加了对 JSONL 格式的处理代码 `JsonlDataParse`,读取 JSONL 文件的 `question` 和 `answer` 字段作为 x, y。 + + +### OpenCompass 集成 + +#### 为什么需要集成 OpenCompass / 集成的必要性 + +首先给出 OpenCompass 官方的一些资料: + +- [OpenCompass 官网](https://opencompass.org.cn/home) +- [OpenCompass Github](https://github.com/open-compass/opencompass) + +OpenCompass 是一个大语言模型/多模态模型的一站式评测项目,里面已经实现了对上百个 BenchMark 的支持,也给出了常见主流大模型的配置方法。通过编写配置文件,选择 datasets 和 models(也即 BenchMark 和运行评测的模型)即可直接运行评测,支持一次性在多个模型上跑多个 BenchMark 的评测。 + +例如 OpenCompass 示例中的 [eval_demo.py](https://github.com/open-compass/opencompass/blob/main/configs/eval_demo.py),只需要下面的几行代码就可以实现评测: + +```python +from mmengine.config import read_base + +with read_base(): + # 导入数据集配置,这个部分直接用就行了 + from .datasets.siqa.siqa_gen import siqa_datasets + from .datasets.winograd.winograd_ppl import winograd_datasets + # 导入模型配置,这个部分可以改成自己的模型 + from .models.opt.hf_opt_125m import opt125m + from .models.opt.hf_opt_350m import opt350m + +# 把要评测的 BenchMark 放在 datasets 中 +datasets = [*siqa_datasets, *winograd_datasets] +# 把要评测的模型放在 models 中 +models = [opt125m, opt350m] +``` + +Ianvs 项目现阶段想要实现对大模型的使用以及评估,在大模型本身基础能力方面,可以复用 OpenCompass 这个项目的成果,通过把 OpenCompass 集成进 Ianvs 项目的方式,实现相应大模型的一些基础能力的评测。 + +#### 集成的方案设计 + +OpenCompass 是一个评估大模型效果的项目,目前适配了很多的大模型和不同的benchmark。考虑到OpenCompass项目本身也一直在更新,为了防止OpenCompass的版本更新产生的影响,把OpenCompass打包成whl文件,然后通过 `pip install opencompass-xxx.whl` 的方式来安装。 + +通过这样的方式引入 OpenCompass 项目之后,我又在 `core` 目录下添加了原 OpenCompass 项目 `configs` 目录下的配置文件,并转换成 python 包的形式。这一步的目的是仍然能使用原来 OpenCompass 中的数据集配置文件。另外,我仿照 OpenCompass 的启动方式,在 Ianvs 项目根目录中添加了 `run_op.py` 来调用 OpenCompass 的 `opencompass.cli.main` 里面的 `main()` 函数启动评测。 + +整理的结构设计如图: + +![](images/structure.png) + +评测数据集方面,依然需要按照 [OpenCompass Doc](https://opencompass.readthedocs.io/zh-cn/latest/get_started/installation.html#id2) 的方法下载解压数据集。 + +集成之后,想要对在 Ianvs 项目中的模型进行评测,只需要额外写一个 python 的配置文件,例如在 `testalgorithms` 目录下的模型文件同级目录下写一个 `op_eval.py`: + +```python +from mmengine.config import read_base +from opencompass.models import HuggingFacewithChatTemplate + +with read_base(): + from core.op_extra.datasets.cmmlu.cmmlu_gen import cmmlu_datasets + +datasets = [*cmmlu_datasets] + +models = [ + dict( + type=HuggingFacewithChatTemplate, + # 模型别名 + abbr='qwen1.5-1.8b-chat-hf', + # path 参数和 Ianvs 算法文件中的模型路径保持一致即可 + path='/home/icyfeather/models/Qwen1.5-1.8B-Chat', + max_out_len=1024, + batch_size=2, + run_cfg=dict(num_gpus=1), + stop_words=['<|im_end|>', '<|im_start|>'], + ) +] +``` + +此处的 models 配置,可以参考 OpenCompass 中的[`configs/models`](https://github.com/open-compass/opencompass/tree/main/configs/models) 中的内容,找到对应的模型示例进行编写。 + +最后,运行 `python run_op.py examples/llm/singletask_learning_bench/simple_qa/testalgorithms/gen/op_eval.py` 即可开启评测。 + +评测成功会输出这样的 summary: + +```bash +dataset version metric mode qwen1.5-1.8b-chat-hf +------------------------------------------- --------- -------- ------ ---------------------- +cmmlu-agronomy 4c7f2c accuracy gen 43.20 +cmmlu-anatomy ea09bf accuracy gen 33.78 +cmmlu-ancient_chinese f7c97f accuracy gen 32.32 +cmmlu-arts dd77b8 accuracy gen 66.88 +cmmlu-astronomy 1e49db accuracy gen 33.94 +cmmlu-business_ethics dc78cb accuracy gen 55.02 +cmmlu-chinese_civil_service_exam 1de82c accuracy gen 45.00 +cmmlu-chinese_driving_rule b8a42b accuracy gen 77.86 +cmmlu-chinese_food_culture 2d568a accuracy gen 41.91 +cmmlu-chinese_foreign_policy dc2427 accuracy gen 62.62 +cmmlu-chinese_history 4cc7ed accuracy gen 65.33 +cmmlu-chinese_literature af3c41 accuracy gen 41.18 +cmmlu-chinese_teacher_qualification 87de11 accuracy gen 60.34 +cmmlu-clinical_knowledge c55b1d accuracy gen 43.46 +cmmlu-college_actuarial_science d3c360 accuracy gen 19.81 +cmmlu-college_education df8790 accuracy gen 66.36 +cmmlu-college_engineering_hydrology 673f23 accuracy gen 44.34 +cmmlu-college_law 524c3a accuracy gen 46.30 +cmmlu-college_mathematics e4ebad accuracy gen 23.81 +cmmlu-college_medical_statistics 55af35 accuracy gen 39.62 +cmmlu-college_medicine 702f48 accuracy gen 45.79 +cmmlu-computer_science 637007 accuracy gen 51.47 +cmmlu-computer_security 932b6b accuracy gen 53.80 +cmmlu-conceptual_physics cfc077 accuracy gen 68.03 +cmmlu-construction_project_management 968a4a accuracy gen 46.04 +cmmlu-economics ddaf7c accuracy gen 56.60 +cmmlu-education c35963 accuracy gen 69.94 +cmmlu-electrical_engineering 70e98a accuracy gen 52.91 +cmmlu-elementary_chinese cbcd6a accuracy gen 45.24 +cmmlu-elementary_commonsense a67f37 accuracy gen 53.03 +cmmlu-elementary_information_and_technology d34d2a accuracy gen 68.49 +cmmlu-elementary_mathematics a9d403 accuracy gen 28.26 +cmmlu-ethnology 31955f accuracy gen 54.07 +cmmlu-food_science 741d8e accuracy gen 40.56 +cmmlu-genetics c326f7 accuracy gen 34.66 +cmmlu-global_facts 0a1236 accuracy gen 46.31 +cmmlu-high_school_biology 2be811 accuracy gen 46.15 +cmmlu-high_school_chemistry d63c05 accuracy gen 42.42 +cmmlu-high_school_geography 5cd489 accuracy gen 45.76 +cmmlu-high_school_mathematics 6b2087 accuracy gen 36.59 +cmmlu-high_school_physics 3df353 accuracy gen 43.64 +cmmlu-high_school_politics 7a88d8 accuracy gen 53.85 +cmmlu-human_sexuality 54ac98 accuracy gen 43.65 +cmmlu-international_law 0f5d40 accuracy gen 36.76 +cmmlu-journalism a4f6a0 accuracy gen 46.51 +cmmlu-jurisprudence 7843da accuracy gen 50.12 +cmmlu-legal_and_moral_basis f906b0 accuracy gen 85.51 +cmmlu-logical 15a71b accuracy gen 33.33 +cmmlu-machine_learning bc6ad4 accuracy gen 35.25 +cmmlu-management e5e8db accuracy gen 53.33 +cmmlu-marketing 8b4c18 accuracy gen 49.44 +cmmlu-marxist_theory 75eb79 accuracy gen 80.42 +cmmlu-modern_chinese 83a9b7 accuracy gen 35.34 +cmmlu-nutrition adfff7 accuracy gen 44.83 +cmmlu-philosophy 75e22d accuracy gen 49.52 +cmmlu-professional_accounting 0edc91 accuracy gen 50.29 +cmmlu-professional_law d24af5 accuracy gen 41.71 +cmmlu-professional_medicine 134139 accuracy gen 39.36 +cmmlu-professional_psychology ec920e accuracy gen 59.48 +cmmlu-public_relations 70ee06 accuracy gen 48.85 +cmmlu-security_study 45f96f accuracy gen 65.19 +cmmlu-sociology 485285 accuracy gen 48.23 +cmmlu-sports_science 838cfe accuracy gen 46.06 +cmmlu-traditional_chinese_medicine 3bbf64 accuracy gen 38.38 +cmmlu-virology 8925bf accuracy gen 48.52 +cmmlu-world_history 57c97c accuracy gen 65.84 +cmmlu-world_religions 1d0f4b accuracy gen 46.25 +07/02 18:37:34 - OpenCompass - INFO - write summary to /home/icyfeather/project/ianvs/outputs/default/20240702_180158/summary/summary_20240702_180158.txt +07/02 18:37:34 - OpenCompass - INFO - write csv to /home/icyfeather/project/ianvs/outputs/default/20240702_180158/summary/summary_20240702_180158.csv +``` + +### 不同 BenchMark 的格式分析 + +| 领域 | 典型举例 | 题型 | 答案验证方法 | +| ---- | -------- | ---- | ------------ | +| NLP | MMLU、CMMLU、C-EVAL、CCPM etc. | 多项选择题,要求输出选项 | 利用 few-shot 学会输出格式,提取答案进行比较 | +| NLP | GSM8K | 小学数学题,推理计算并输出答案 | 利用 few-shot 学会输出格式,提取答案进行比较 | +| NLP | HumanEval | 编程题,要求完成python代码 | 进行单元测试 | +| NLP | AlignBench、MTBench | 开放式、主观评价的问题 | 用GPT-4来打分 | +| NLP | Flores | 多语言翻译 | 计算 BLUE 指标 | + + +### BenchMark 中的 Prompt 分析 + +| 类别 | Prompt | +| ---- | ------ | +| 任务+格式+题干(Zeroshot) | Read the following function signature and docstring, and fully implement the function described. Your response should only contain the code for this function.\n{prompt} | +| 角色+要求+题干(Zeroshot) | You are an intelligent programming assistant to produce Python algorithmic solutions.\nCan you complete the following Python function?\n```python\n{prompt}\n``` | +| 题干+Let's think step by step(Zeroshot/Fewshot) | Question: {question}\nLet's think step by step\nAnswer: | +| 题干(Fewshot/Zeroshot) | Translate the following {_src_inst} statements to {_tgt_inst}.\n{{sentence_{_flores_source}}} | +| 题干+直接输出答案(Zeroshot) | 以下是中国{{exam_type}}中{{exam_class}}考试的一道{{question_type}},不需要做任何分析和解释,直接输出答案选项。\n{{question}}\n{{option_str}} \n 答案: | +| Judge Prompt - 给出打分方向 + 直接对答案打分 | [指导]请充当一个公正的评委,评估AI助手对以下用户问题的回应质量。您的评估应考虑回应的实用性、相关性、准确性、深度、创造性和详细程度等因素。开始您的评估,提供简要解释。请尽量客观。在提供解释后,您必须按照以下格式严格给出对回应的评分,使用这个格式:“[[评分]]”,例如:“评分:[[5]]”。[问题]{问题}[助手回答的开始]{回答}[助手回答的结束] | +| Judge Prompt - 给出打分方向+参考答案+答案进行参考式打分 | 你是一个擅长评价文本质量的助手。\n请你以公正的评判者的身份,评估一个AI助手对于用户提问的回答的质量。由于您评估的回答类型是专业能力,因此你需要从下面的几个维度对回答进行评估:\n1. 事实正确性: 回答中提供的信息是否准确无误,是否基于可信的事实和数据。\n2. 满足用户需求: 回答是否满足了用户提出问题的目的和需求,是否对问题进行了全面而恰当的回应。\n3. 清晰度: 回答是否表达清晰、易懂,是否使用了简洁的语言和结构,以便用户可以轻松理解。\n4. 完备性: 回答是否提供了足够的信息和细节,以满足用户的需求,是否遗漏了重要的方面。\n我们会给您提供用户的提问,高质量的参考答案,和需要你评估的AI助手的答案。当你开始你的评估时,你需要按照遵守以下的流程:\n1. 将AI助手的答案与参考答案进行比较,指出AI助手的答案有哪些不足,并进一步解释。\n2. 从不同维度对AI助手的答案进行评价,在每个维度的评价之后,给每一个维度一个1~10的分数。\n3. 最后,综合每个维度的评估,对AI助手的回答给出一个1~10的综合分数。\n4. 你的打分需要尽可能严格,并且要遵守下面的评分规则:总的来说,模型回答的质量越高,则分数越高。其中,事实正确性和满足用户需求这两个维度是最重要的,这两个维度的分数主导了最后的综合分数。当模型回答存在与问题不相关,或者有本质性的事实错误,或生成了有害内容时,总分必须是1到2分;当模型回答没有严重错误而且基本无害,但是质量较低,没有满足用户需求,总分为3到4分;当模型回答基本满足用户要求,但是在部分维度上表现较差,质量中等,总分可以得5到6分;当模型回答质量与参考答案相近,在所有维度上表现良好,总分得7到8分;只有当模型回答质量显著超过参考答案,充分地解决了用户问题和所有需求,并且在所有维度上都接近满分的情况下,才能得9到10分。作为示例,参考答案可以得到8分。\n请记住,你必须在你打分前进行评价和解释。在你对每个维度的解释之后,需要加上对该维度的打分。之后,在你回答的末尾,按照以下字典格式(包括括号)返回你所有的打分结果,并确保你的打分结果是整数:\n{'维度一': 打分, '维度二': 打分, ..., '综合得分': 打分},例如:{'事实正确性': 9, '满足用户需求': 6, ..., '综合得分': 7}。\n用户的提问: 高音单簧管和高音萨克斯的调性相同吗?如果相同,请说出他们的调性,如果不同,请分别说出他们的调性\n[参考答案开始]\n高音单簧管和高音萨克斯的调性不同。高音单簧管的调性通常为E♭,而高音萨克斯的调性则为B♭。\n\n[参考答案结束]\n[助手的答案开始]\n两种乐器的调性是不同的。高音单簧管的调性是bB(B-flat),而高音萨克斯(Soprano saxophone)的调性是B(B)。\n[助手的答案结束] + + +### BenchMark 中的数据生成方法 + +| 类别 | 详细描述 | +| ---- | -------- | +| 人工收集 | 从网上公开的考试、资料中收集题目 | +| 人工编写 | 全部手动编写 | +| 种子问题+人工 | 写好一些种子问题,找承包商参考种子问题构造数据 | +| 相似样例随机替换 | 检索相似度在(0.5, 0.8)之间的(相似但是不那么相似)数据作为负样例混淆选项 | +| 相似样例 + 随机样例 | 候选选项列表由三部分组成:正确答案、 相似答案、随机答案 | +| GPT生成 + 人工修改 | 先利用GPT4生成,然后再人工精细修改答案 | + +### BenchMark 难度 + +从效果上来说,BenchMark 需要能起到区分模型能力的作用,所以 BenchMark 必须具有一定的难度,综合来看,基本上是大模型只能拿个20%-60%分数的水平。 + +从设计上来说,BenchMark 需要覆盖多个维度的能力评估、有的还会分不同的难度等级,客观上本身就存在难度,所以大模型得分不高是意料之中的事情。 + +### BenchMark 总结 - 接口设计方法 + +结合上面对 BenchMark 的调研分析,以及对 OpenCompass 项目中集成不同的 BenchMark 的方法参考,总结认为 BenchMark 的接口应该提供以下信息: + +1. 推理部分 + + 1.1 data + + 这个部分就是数据集本身,但是有一个要求,那就是数据必须要分字段,例如对于 jsonl 格式的数据,可以是 {"question": "xxx", "answer": "xxx"} 这样 + + 1.2 Prompt Template + + 这个部分需要和 1.1 data 相结合使用,prompt 中有的部分需要替换成 data 中的字段,例如:The Question is {question}. The Answer is {answer} 这样 + + 1.3 Retriever + + 这个 Retriever 提供检索的相关内容,可以是 Zeroshot、OneShot、Fewshot,其中对于Fewshot,又可以分为FixKRetriever(固定的几个样例)、RandomRetriever(随机的样例)、TopkRetriever(例如可以通过SentenceTransformer和faiss来计算相似度,检索出来最相似的K个样例)等 + +2. 评估部分 + + 2.1 客观评估 + + 2.1.1 字符串处理 + + 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + + 2.1.2 评估打分 + + 给出打分的算法,算法需要直接返回分数,分数是一个json,可以有多个维度的分数 + + 2.2 主观评估 + + 2.2.1 Prompt Template + + 这个 Template 是 GPT-4 这种 Judge Model 的 Prompt,需要留一个 infer_result 的字段。Judge Model 会根据这个 Prompt 来打分。 + + 2.2.2 获取分数 + + 从 Judge Model 的结果中获取分数,分数是一个json,可以有多个维度的分数 + + +### BenchMark 格式示例 + +BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定性。 + +`data.json` + +只保存和数据本身有关的部分。 + +```json +{ + "keys": ["key1", "key2", "answer_key"], + "answer_key": "answer_key", + "data": [{"key1": "xxx", "key2": "xxx", "answer_key": "xxx"}, {"key1": "xxx", "key2": "xxx", "answer_key": "xxx"}], +} +``` + +`prompt.json` + +提供 model infer 的 prompt 模版。例如: + +```json +{ + "infer_system_prompt": "You ara a xxxx assistant.", + "infer_user_template": "Question: The question type is {type}, the question is {question}, What is the answer?", + "infer_answer_template": "The Answer is {answer_key}", + "eval_prompt_template": "The model infer answer is {infer_answer}, the reference data is {ref}, Please give a score between 1 to 10." +} +``` + +如果需要有别的prompt信息,也可以加进去。 + +至于是使用 ZeroShot/OneShot/FewShot,其实都是用增加 chat message history 的方式,这部分由不同模型自己实现即可。 + +chat history: + +``` +chat = [ + {"role": "user", "content": "Hello, how are you?"}, + {"role": "assistant", "content": "I'm doing great. How can I help you today?"}, + {"role": "user", "content": "I'd like to show off how chat templating works!"}, +] +``` + +可以看到在这一轮 user 的问题之前,已经有了一轮 user 和 assistant 的对话。这整个 chat 是直接传给模型的。 +模型可以根据上下文进行学习。 + +举个例子,如果是 3-shot,以 HuggingFace 上的 zephyr-7b-beta 模型为例: + +```python +from transformers import AutoModelForCausalLM, AutoTokenizer + +checkpoint = "HuggingFaceH4/zephyr-7b-beta" +tokenizer = AutoTokenizer.from_pretrained(checkpoint) +model = AutoModelForCausalLM.from_pretrained(checkpoint) + +messages = [ + {"role": "system","content": "You are an expert at solving problems."}, + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "答案是{answer}。"} + {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, +] +tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt") +print(tokenizer.decode(tokenized_chat[0])) +``` + + +## 时间规划 + +- **6月到7月中旬** +实现 OpenCompass 项目的集成,在 Ianvs 上实现 LLM single task learning 样例 +- **7月中旬到8月中旬** +以政务数据集为例,构建一套测试集、测试指标、测试环境、使用指南 +- **8月中旬到9月中旬** +优化 Ianvs 上的评估,实现任务监控、可视化等功能 +- **9月中旬到9月底** +如果有时间精力,看情况实现工业/医疗大模型测试套件,包括指标和样例 + + + + + diff --git a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md index 57b31349..b8c6173b 100644 --- a/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md +++ b/docs/proposals/scenarios/llm-benchmarks/llm-benchmarks.md @@ -1,23 +1,27 @@ -# 行业大模型基准测试套件:基于KubeEdge-Ianvs实现 +# Industry Large-Scale Model Benchmarking Suite: Implemented Based on KubeEdge-Ianvs -大模型进入规模化应用时代,云已为大模型提供基础设施和服务,相关客户进一步提出包括个性化、数据合规、实时性等边缘侧的针对性应用需求,而云边协同的人工智能服务成为大趋势。但是,当前在产品定义、服务质量、服务资质、行业影响力等方面,存在通用竞争力和客户信任问题两大挑战,其症结在于,当前大模型基准测试聚焦对通用基础能力的考核,未能从行业角度牵引大模型应用。本项目从大模型产业以及云边协同人工智能角度、藉由行业应用反映大模型真实价值,以行业基准测试牵引大模型应用孵化。本项目基于协同人工智能基准测试套件KubeEdge-Ianvs,补充大模型测试工具接口,配套测试数据集,并构建政务等行业大模型测试套件。 +As large-scale models enter the era of large-scale application, the cloud has provided infrastructure and services for large-scale models. Related customers have further proposed targeted application demands on the edge side, including personalization, data compliance, and real-time capabilities, and cloud-edge collaborative artificial intelligence services have become a major trend. However, there are currently two major challenges in terms of product definition, service quality, service qualifications, and industry influence: general competitiveness and customer trust issues. The crux lies in the fact that the current large-scale model benchmarking focuses on the assessment of general basic capabilities and has not driven the application of large-scale models from an industry perspective. This project reflects the real value of large-scale models from the perspective of the large-scale model industry and cloud-edge collaborative artificial intelligence, and drives the incubation of large-scale model applications through industry benchmarking. This project is based on the collaborative artificial intelligence benchmarking suite KubeEdge-Ianvs, supplements the large-scale model testing tool interface, supports the testing dataset, and constructs a large-scale model testing suite for industries such as government affairs. -目前Ianvs项目有以下问题需要解决: +The Ianvs project currently has the following issues that need to be resolved: + +1. Lack of a Flexible Dataset Reading Method +The current dataset reading part of Ianvs is implemented by the [simulation part](https://github.com/kubeedge/ianvs/blob/main/docs/proposals/simulation/simulation.md) introduced two years ago, which currently only supports a few ways of reading datasets, such as using the index.txt configuration, and depends on the 'sedna.datasources' library. If a new dataset reading class needs to be implemented, not only does the Ianvs project need to be modified, but also the corresponding code of the sedna project needs to be modified. + +2. Lack of a Large-Scale Model Example +The Ianvs project has mainly focused on image processing models in the past, and there are no related examples for large-scale language models. This may cause some difficulties for users who want to use large-scale models on the Ianvs project. If there is an example of a large-scale model, they will find it easier to get started. + +3. Lack of a Large-Scale Model Benchmark +The format of the dataset is diverse, and to adapt to the evaluation of the effect of large-scale models, it is necessary to establish a large-scale model benchmark test. It is necessary to define a common interface in this process, which requires researching various forms of modal data and finding the best interface design. -1. 缺少灵活的数据集读取方式 -Ianvs当前的数据集读取部分是由两年前的[simulation部分](https://github.com/kubeedge/ianvs/blob/main/docs/proposals/simulation/simulation.md)实现引入,目前仅支持少数几种数据集读取方式,例如使用index.txt配置,并且依赖于`sedna.datasources`这个库,如果需要实现新的数据集读取类,不仅需要修改Ianvs项目,还需要对应的修改sedna项目的代码 -2. 缺少一个大模型的example -Ianvs项目在之前主要关注于图像处理的模型,对于大规模语言模型并没有相关示例,这可能会对想在Iavns项目上使用大模型的用户造成一些困难,如果能有一个大模型的示例,他们会更容易上手使用 -3. 缺少一个大模型benchmark -数据集的格式多种多样,想要对大模型的效果评估进行适配,建立一个大模型的基准测试,需要定义好一个通用的接口,这个过程中需要调研多种模态的数据形式,并找到一个最好的接口设计 ## Goals -1. 调研数据集,形成一份较为全面的包括多种行业场景的测试数据集的数据集地图 -2. 完成大模型的single task learning的example,帮助想在Ianvs中使用LLM的用户上手使用 -3. 集成OpenCompass等开源项目,通过提供模型API地址和Key实现在线大模型调用 -4. 比较各种数据集接口的优劣,并指定一个通用的benchmark接口格式 -5. 聚焦NLP或多模态类任务,以政务行业为例构筑套件,包括测试集、测试指标、测试环境、使用指南 +1. Investigate datasets to form a comprehensive dataset map that includes various industry scenarios for testing datasets. +2. Complete an example of single task learning for large models to help users who want to use Large Language Models (LLMs) in Ianvs to get started. +3. Integrate open-source projects such as OpenCompass to enable online calling of large models by providing model API addresses and keys. +4. Compare the advantages and disadvantages of various dataset interfaces and specify a common benchmark interface format. +5. Focus on NLP or multimodal tasks, taking the government affairs industry as an example to build a suite, including test datasets, test metrics, testing environments, and user guides. + ## Design Details @@ -98,7 +102,7 @@ Ianvs项目在之前主要关注于图像处理的模型,对于大规模语言 ### LLM Single-Task-Learning Example -`examples/llm` 目录结构: +`examples/llm` directory structure: ``` llm @@ -115,25 +119,46 @@ llm └── testenv.yaml ``` -simple_qa 是我设计的一个简单的QA问答任务,测试集部分内容如下: +simple_qa is a simple QA task designed by me,the content is as follows: ``` -{"question": "如果小明有5个苹果,他给了小华3个,那么小明还剩下多少个苹果?\nA. 2个\nB. 3个\nC. 4个\nD. 5个", "answer": "A"} -{"question": "下列哪个数是最小的质数?\nA. 0\nB. 1\nC. 2\nD. 4", "answer": "C"} -{"question": "一个长方形的长是10厘米,宽是5厘米,它的周长是多少厘米?\nA. 20厘米\nB. 30厘米\nC. 40厘米\nD. 50厘米", "answer": "B"} -{"question": "下列哪个分数是最接近1的?\nA. 1/2\nB. 3/4\nC. 4/5\nD. 5/6", "answer": "D"} -{"question": "如果一个数加上10等于30,那么这个数是多少?\nA. 20\nB. 21\nC. 22\nD. 23", "answer": "A"} +{"question": "If Xiao Ming has 5 apples and gives 3 to Xiao Hua, how many apples does Xiao Ming have left? +A. 2 +B. 3 +C. 4 +D. 5", "answer": "A"} +{"question": "Which of the following numbers is the smallest prime number? +A. 0 +B. 1 +C. 2 +D. 4", "answer": "C"} +{"question": "If the length of a rectangle is 10 centimeters and the width is 5 centimeters, what is its perimeter in centimeters? +A. 20 centimeters +B. 30 centimeters +C. 40 centimeters +D. 50 centimeters", "answer": "B"} +{"question": "Which of the following fractions is closest to 1? +A. 1/2 +B. 3/4 +C. 4/5 +D. 5/6", "answer": "D"} +{"question": "If a number plus 10 equals 30, what is the number? +A. 20 +B. 21 +C. 22 +D. 23", "answer": "A"} ``` -通过LLM来回答所选答案,提取回答中的答案的方式,来与正确答案进行比对,计算acc准确率 +Using LLM to answer selected questions, extract the answer from the response, and compare it with the correct answer to calculate the accuracy rate. -另外这里不同于一般的使用 `index.txt` 索引文件的方式,我实现了另外一套机制,如图。 +Additionally, this is different from the usual method of using an `index.txt` index file. I have implemented another mechanism, as shown in the figure. ![](images/data_process_change.png) -在之前的项目中,我们需要在 `testenv.yaml` 文件中配置 `train_url` 和 `test_url` 索引文件的路径,索引文件中会放 (输入x, 期望输出y) 的文件路径,这个设计是存在一些局限性的。 +In previous projects, we needed to configure the paths of the `train_url` and `test_url` index files in the `testenv.yaml` file. The index files would contain file paths for (input x, expected output y) pairs, and this design has some limitations. + +The previous Ianvs projects seem to be focused on computer vision (CV), and there do not appear to be examples for natural language processing (NLP), so in terms of dataset reading, the common approach is to write an `index.txt` file that contains (data, annotation) pairs. There would also be a folder for data, a folder for annotations, and each file represents a single piece of data. An image corresponds to a single data point, which is understandable in the CV field. However, if you switch to the NLP field, you can't have a single text file contain just one piece of data. The common practice is to not even need an index file, but to write both data and labels directly into a data.json or jsonl file. For example: -以往的ianvs项目似乎是以cv为主,对于nlp的example似乎没有,所以数据集读取方面,一般采用的方式是写一个index.txt,这个文件里面放(数据,标注)对,然后又有一个放数据的文件夹,一个放标注的文件夹,一个文件就是一个数据。一张图片一个数据,这在cv领域是可以理解的,但是如果换到nlp领域,没法做到一个txt文件只放一个数据,一般的做法是连index文件都不需要,直接一个data.json/jsonl/文件就把数据和标签都写进去了,例如 ``` {"question": xxx, "answer": xxx} @@ -141,58 +166,58 @@ simple_qa 是我设计的一个简单的QA问答任务,测试集部分内容 {"question": xxx, "answer": xxx} ``` -综上所述,我认为 Ianvs 项目需要添加不需要索引文件,而是直接提供数据文件的处理机制。考虑到需要尽可能对原来的 example 产生较小的影响,我通过以下的机制实现。 +In summary, I believe that the Ianvs project needs to add a processing mechanism that does not require an index file, but instead directly provides the data file. Considering the need to make as little impact as possible on the original examples, I have implemented the following mechanism. -在 `core/testenvmanager/dataset/dataset.py` 中,把 `process_dataset()` 的逻辑改成:如果发现配置文件中配置了 `train_index` 或者 `test_index`,则采用原来 index 的处理方法处理数据集,如果是配置了 `train_data` 或者 `test_data`,则直接作为数据来处理。 +In `core/testenvmanager/dataset/dataset.py`, I have changed the logic of `process_dataset()` to: if it detects that the `train_index` or `test_index` is configured in the configuration file, it will use the original index processing method to handle the dataset. If it is configured with `train_data` or `test_data`, it will be processed directly as data. -另外,我在 `DatasetFormat` 中添加了 JSONL 格式,并在 `sedna.datasources` 中添加了对 JSONL 格式的处理代码 `JsonlDataParse`,读取 JSONL 文件的 `question` 和 `answer` 字段作为 x, y。 +Additionally, I have added the JSONL format in `DatasetFormat` and added the handling code for the JSONL format `JsonlDataParse` in `sedna.datasources`, which reads the `question` and `answer` fields from the JSONL file as x and y. -### OpenCompass 集成 +### OpenCompass Integration -#### 为什么需要集成 OpenCompass / 集成的必要性 +#### Why Integrate OpenCompass / The Necessity of Integration -首先给出 OpenCompass 官方的一些资料: +Let's start with some official information about OpenCompass: -- [OpenCompass 官网](https://opencompass.org.cn/home) +- [OpenCompass Official Website](https://opencompass.org.cn/home) - [OpenCompass Github](https://github.com/open-compass/opencompass) -OpenCompass 是一个大语言模型/多模态模型的一站式评测项目,里面已经实现了对上百个 BenchMark 的支持,也给出了常见主流大模型的配置方法。通过编写配置文件,选择 datasets 和 models(也即 BenchMark 和运行评测的模型)即可直接运行评测,支持一次性在多个模型上跑多个 BenchMark 的评测。 +OpenCompass is a one-stop evaluation project for large language models/multimodal models, which has already implemented support for hundreds of BenchMarks and has also provided configuration methods for common mainstream large models. By writing configuration files, selecting datasets and models (i.e., BenchMarks and models for running evaluations), you can directly run evaluations, supporting the evaluation of multiple BenchMarks on multiple models at once. -例如 OpenCompass 示例中的 [eval_demo.py](https://github.com/open-compass/opencompass/blob/main/configs/eval_demo.py),只需要下面的几行代码就可以实现评测: +For example, in the OpenCompass example [eval_demo.py](https://github.com/open-compass/opencompass/blob/main/configs/eval_demo.py), you can achieve evaluation with just a few lines of code: ```python from mmengine.config import read_base with read_base(): - # 导入数据集配置,这个部分直接用就行了 + # Import dataset configuration, this part can be used directly from .datasets.siqa.siqa_gen import siqa_datasets from .datasets.winograd.winograd_ppl import winograd_datasets - # 导入模型配置,这个部分可以改成自己的模型 + # Import model configuration, this part can be changed to your own model from .models.opt.hf_opt_125m import opt125m from .models.opt.hf_opt_350m import opt350m -# 把要评测的 BenchMark 放在 datasets 中 +# Put the BenchMarks to be evaluated in datasets datasets = [*siqa_datasets, *winograd_datasets] -# 把要评测的模型放在 models 中 +# Put the models to be evaluated in models models = [opt125m, opt350m] ``` -Ianvs 项目现阶段想要实现对大模型的使用以及评估,在大模型本身基础能力方面,可以复用 OpenCompass 这个项目的成果,通过把 OpenCompass 集成进 Ianvs 项目的方式,实现相应大模型的一些基础能力的评测。 +The Ianvs project currently wants to implement the use and evaluation of large models. In terms of the basic capabilities of the large models themselves, it can reuse the achievements of the OpenCompass project. By integrating OpenCompass into the Ianvs project, it can achieve the evaluation of some basic capabilities of the corresponding large models. -#### 集成的方案设计 +#### Integration Plan Design -OpenCompass 是一个评估大模型效果的项目,目前适配了很多的大模型和不同的benchmark。考虑到OpenCompass项目本身也一直在更新,为了防止OpenCompass的版本更新产生的影响,把OpenCompass打包成whl文件,然后通过 `pip install opencompass-xxx.whl` 的方式来安装。 +OpenCompass is a project for evaluating the effectiveness of large models and has been adapted to many large models and various benchmarks. Considering that the OpenCompass project itself is constantly being updated, to prevent the impact of version updates, OpenCompass is packaged into a .whl file and installed using the command `pip install opencompass-xxx.whl`. -通过这样的方式引入 OpenCompass 项目之后,我又在 `core` 目录下添加了原 OpenCompass 项目 `configs` 目录下的配置文件,并转换成 python 包的形式。这一步的目的是仍然能使用原来 OpenCompass 中的数据集配置文件。另外,我仿照 OpenCompass 的启动方式,在 Ianvs 项目根目录中添加了 `run_op.py` 来调用 OpenCompass 的 `opencompass.cli.main` 里面的 `main()` 函数启动评测。 +After introducing the OpenCompass project in this way, I added the configuration files from the original OpenCompass project's `configs` directory under the `core` directory and converted them into a Python package. The purpose of this step is to continue using the original dataset configuration files from OpenCompass. In addition, following the startup method of OpenCompass, I added `run_op.py` in the root directory of the Ianvs project to call the `main()` function inside `opencompass.cli.main` to start the evaluation. -整理的结构设计如图: +The organized structural design is shown in the figure: ![](images/structure.png) -评测数据集方面,依然需要按照 [OpenCompass Doc](https://opencompass.readthedocs.io/zh-cn/latest/get_started/installation.html#id2) 的方法下载解压数据集。 +For the evaluation dataset, it is still necessary to download and unzip the datasets according to the method described in [OpenCompass Doc](https://opencompass.readthedocs.io/zh-cn/latest/get_started/installation.html#id2). -集成之后,想要对在 Ianvs 项目中的模型进行评测,只需要额外写一个 python 的配置文件,例如在 `testalgorithms` 目录下的模型文件同级目录下写一个 `op_eval.py`: +After integration, to evaluate the models in the Ianvs project, you only need to write an additional Python configuration file, for example, write an `op_eval.py` in the same directory level as the model file in the `testalgorithms` directory: ```python from mmengine.config import read_base @@ -206,9 +231,9 @@ datasets = [*cmmlu_datasets] models = [ dict( type=HuggingFacewithChatTemplate, - # 模型别名 + # Model alias abbr='qwen1.5-1.8b-chat-hf', - # path 参数和 Ianvs 算法文件中的模型路径保持一致即可 + # The path parameter should be consistent with the model path in the Ianvs algorithm file path='/home/icyfeather/models/Qwen1.5-1.8B-Chat', max_out_len=1024, batch_size=2, @@ -218,11 +243,12 @@ models = [ ] ``` -此处的 models 配置,可以参考 OpenCompass 中的[`configs/models`](https://github.com/open-compass/opencompass/tree/main/configs/models) 中的内容,找到对应的模型示例进行编写。 +The model configuration here can refer to the content in OpenCompass's [`configs/models`](https://github.com/open-compass/opencompass/tree/main/configs/models) to find the corresponding model example for writing. + +Finally, running `python run_op.py examples/llm/singletask_learning_bench/simple_qa/testalgorithms/gen/op_eval.py` will start the evaluation. -最后,运行 `python run_op.py examples/llm/singletask_learning_bench/simple_qa/testalgorithms/gen/op_eval.py` 即可开启评测。 +The evaluation will output a summary like this: -评测成功会输出这样的 summary: ```bash dataset version metric mode qwen1.5-1.8b-chat-hf @@ -298,95 +324,98 @@ cmmlu-world_religions 1d0f4b accuracy gen 07/02 18:37:34 - OpenCompass - INFO - write csv to /home/icyfeather/project/ianvs/outputs/default/20240702_180158/summary/summary_20240702_180158.csv ``` -### 不同 BenchMark 的格式分析 +### Analysis of Formats for Different Benchmarks + +| Domain | Typical Examples | Question Type | Answer Verification Method | +| ------- | --------------- | ------------- | -------------------------- | +| NLP | MMLU, CMMLU, C-EVAL, CCPM etc. | Multiple choice questions, requiring the output of options | Utilize few-shot learning to master the output format, extract the answer for comparison | +| NLP | GSM8K | Elementary school math problems, infer and calculate the answer | Utilize few-shot learning to master the output format, extract the answer for comparison | +| NLP | HumanEval | Programming problems, requiring the completion of Python code | Conduct unit testing | +| NLP | AlignBench, MTBench | Open-ended, subjective evaluation questions | Score using GPT-4 | +| NLP | Flores | Multilingual translation | Calculate BLEU score | -| 领域 | 典型举例 | 题型 | 答案验证方法 | -| ---- | -------- | ---- | ------------ | -| NLP | MMLU、CMMLU、C-EVAL、CCPM etc. | 多项选择题,要求输出选项 | 利用 few-shot 学会输出格式,提取答案进行比较 | -| NLP | GSM8K | 小学数学题,推理计算并输出答案 | 利用 few-shot 学会输出格式,提取答案进行比较 | -| NLP | HumanEval | 编程题,要求完成python代码 | 进行单元测试 | -| NLP | AlignBench、MTBench | 开放式、主观评价的问题 | 用GPT-4来打分 | -| NLP | Flores | 多语言翻译 | 计算 BLUE 指标 | +### Analysis of Prompts in Benchmarks -### BenchMark 中的 Prompt 分析 +| Category | Prompt | +| -------- | ------ | +| Task + Format + Question Stem (Zeroshot) | Read the following function signature and docstring, and fully implement the function described. Your response should only contain the code for this function.\n{prompt} | +| Role + Requirements + Question Stem (Zeroshot) | You are an intelligent programming assistant tasked with producing Python algorithmic solutions.\nCan you complete the following Python function?\n```python\n{prompt}\n``` | +| Question Stem + Let's think step by step (Zeroshot/Fewshot) | Question: {question}\nLet's think step by step.\nAnswer: | +| Question Stem (Fewshot/Zeroshot) | Translate the following {_src_inst} statements to {_tgt_inst}.\n{{sentence_{_flores_source}}} | +| Question Stem + Direct Answer Output (Zeroshot) | Below is a {question_type} from the {exam_class} {exam_type} in China. No analysis or explanation is needed; just output the answer option directly.\n{question}\n{option_str} \n Answer: | +| Judge Prompt - Provide Scoring Direction + Directly Score the Answer | [Guidance] Please act as an impartial judge to assess the quality of the AI assistant's response to the following user question. Your assessment should consider factors such as practicality, relevance, accuracy, depth, creativity, and level of detail in the response. Begin your assessment and provide a brief explanation. Please be as objective as possible. After providing your explanation, you must strictly give a score to the response in the following format: "[[Score]]", for example: "Score: [[5]]". [Question]{question}[Start of the assistant's response]{response}[End of the assistant's response] | +| Judge Prompt - Provide Scoring Direction + Reference Answer + Reference-Style Scoring | You are an assistant skilled in evaluating the quality of text. Please act as an impartial judge to assess the quality of an AI assistant's response to a user's question. Since the type of response you are evaluating is professional ability, you need to assess the response from the following dimensions: 1. Factual Accuracy: Whether the information provided in the response is accurate and based on credible facts and data. 2. Meeting User Needs: Whether the response meets the purpose and needs of the user's question and whether it has responded comprehensively and appropriately to the question. 3. Clarity: Whether the response is expressed clearly and understandably, using concise language and structure so that users can easily understand. 4. Completeness: Whether the response provides sufficient information and details to meet the user's needs, and whether important aspects have been omitted. We will provide you with the user's question, high-quality reference answers, and the AI assistant's answer that you need to evaluate. When you start your assessment, you need to follow the following process: 1. Compare the AI assistant's answer with the reference answer, point out the shortcomings of the AI assistant's answer, and further explain. 2. Evaluate the AI assistant's answer from different dimensions, and give a score of 1 to 10 for each dimension after the evaluation. 3. Finally, give a comprehensive score of 1 to 10 for the AI assistant's answer based on the assessment of each dimension. 4. Your scoring must be as strict as possible and follow the scoring rules below: Generally speaking, the higher the quality of the model's response, the higher the score. Among them, factual accuracy and meeting user needs are the most important dimensions, and the scores of these two dimensions dominate the final comprehensive score. When the model's response is irrelevant to the question, or there are fundamental factual errors, or harmful content is generated, the total score must be 1 to 2 points; when the model's response has no serious errors and is basically harmless, but the quality is low and does not meet user needs, the total score is 3 to 4 points; when the model's response basically meets user requirements, but performs poorly in some dimensions, the quality is medium, and the total score can be 5 to 6 points; when the model's response quality is similar to the reference answer, and performs well in all dimensions, the total score is 7 to 8 points; only when the model's response quality significantly exceeds the reference answer, fully solves the user's problem and all needs, and approaches full marks in all dimensions, can it get 9 to 10 points. As an example, the reference answer can get 8 points. Remember, you must evaluate and explain before you score. After your explanation for each dimension, you need to add the score for that dimension. After your response, return all your scoring results in the following dictionary format (including parentheses), and make sure your scoring results are integers: {'Dimension One': Score, 'Dimension Two': Score, ..., 'Comprehensive Score': Score}, for example: {'Factual Accuracy': 9, 'Meeting User Needs': 6, ..., 'Comprehensive Score': 7}. The user's question: Are the clarinet and the soprano saxophone in the same key? If so, state their key. If not, state their keys separately. [Start of the reference answer] The clarinet and the soprano saxophone are not in the same key. The clarinet is usually in the key of E♭, while the soprano saxophone is in the key of B♭. [End of the reference answer] [Start of the assistant's answer] The keys of the two instruments are different. The clarinet is in the key of B-flat (B♭), and the soprano saxophone is in the key of B (B). [End of the assistant's answer] | -| 类别 | Prompt | -| ---- | ------ | -| 任务+格式+题干(Zeroshot) | Read the following function signature and docstring, and fully implement the function described. Your response should only contain the code for this function.\n{prompt} | -| 角色+要求+题干(Zeroshot) | You are an intelligent programming assistant to produce Python algorithmic solutions.\nCan you complete the following Python function?\n```python\n{prompt}\n``` | -| 题干+Let's think step by step(Zeroshot/Fewshot) | Question: {question}\nLet's think step by step\nAnswer: | -| 题干(Fewshot/Zeroshot) | Translate the following {_src_inst} statements to {_tgt_inst}.\n{{sentence_{_flores_source}}} | -| 题干+直接输出答案(Zeroshot) | 以下是中国{{exam_type}}中{{exam_class}}考试的一道{{question_type}},不需要做任何分析和解释,直接输出答案选项。\n{{question}}\n{{option_str}} \n 答案: | -| Judge Prompt - 给出打分方向 + 直接对答案打分 | [指导]请充当一个公正的评委,评估AI助手对以下用户问题的回应质量。您的评估应考虑回应的实用性、相关性、准确性、深度、创造性和详细程度等因素。开始您的评估,提供简要解释。请尽量客观。在提供解释后,您必须按照以下格式严格给出对回应的评分,使用这个格式:“[[评分]]”,例如:“评分:[[5]]”。[问题]{问题}[助手回答的开始]{回答}[助手回答的结束] | -| Judge Prompt - 给出打分方向+参考答案+答案进行参考式打分 | 你是一个擅长评价文本质量的助手。\n请你以公正的评判者的身份,评估一个AI助手对于用户提问的回答的质量。由于您评估的回答类型是专业能力,因此你需要从下面的几个维度对回答进行评估:\n1. 事实正确性: 回答中提供的信息是否准确无误,是否基于可信的事实和数据。\n2. 满足用户需求: 回答是否满足了用户提出问题的目的和需求,是否对问题进行了全面而恰当的回应。\n3. 清晰度: 回答是否表达清晰、易懂,是否使用了简洁的语言和结构,以便用户可以轻松理解。\n4. 完备性: 回答是否提供了足够的信息和细节,以满足用户的需求,是否遗漏了重要的方面。\n我们会给您提供用户的提问,高质量的参考答案,和需要你评估的AI助手的答案。当你开始你的评估时,你需要按照遵守以下的流程:\n1. 将AI助手的答案与参考答案进行比较,指出AI助手的答案有哪些不足,并进一步解释。\n2. 从不同维度对AI助手的答案进行评价,在每个维度的评价之后,给每一个维度一个1~10的分数。\n3. 最后,综合每个维度的评估,对AI助手的回答给出一个1~10的综合分数。\n4. 你的打分需要尽可能严格,并且要遵守下面的评分规则:总的来说,模型回答的质量越高,则分数越高。其中,事实正确性和满足用户需求这两个维度是最重要的,这两个维度的分数主导了最后的综合分数。当模型回答存在与问题不相关,或者有本质性的事实错误,或生成了有害内容时,总分必须是1到2分;当模型回答没有严重错误而且基本无害,但是质量较低,没有满足用户需求,总分为3到4分;当模型回答基本满足用户要求,但是在部分维度上表现较差,质量中等,总分可以得5到6分;当模型回答质量与参考答案相近,在所有维度上表现良好,总分得7到8分;只有当模型回答质量显著超过参考答案,充分地解决了用户问题和所有需求,并且在所有维度上都接近满分的情况下,才能得9到10分。作为示例,参考答案可以得到8分。\n请记住,你必须在你打分前进行评价和解释。在你对每个维度的解释之后,需要加上对该维度的打分。之后,在你回答的末尾,按照以下字典格式(包括括号)返回你所有的打分结果,并确保你的打分结果是整数:\n{'维度一': 打分, '维度二': 打分, ..., '综合得分': 打分},例如:{'事实正确性': 9, '满足用户需求': 6, ..., '综合得分': 7}。\n用户的提问: 高音单簧管和高音萨克斯的调性相同吗?如果相同,请说出他们的调性,如果不同,请分别说出他们的调性\n[参考答案开始]\n高音单簧管和高音萨克斯的调性不同。高音单簧管的调性通常为E♭,而高音萨克斯的调性则为B♭。\n\n[参考答案结束]\n[助手的答案开始]\n两种乐器的调性是不同的。高音单簧管的调性是bB(B-flat),而高音萨克斯(Soprano saxophone)的调性是B(B)。\n[助手的答案结束] -### BenchMark 中的数据生成方法 +### Data Generation Methods in Benchmarks -| 类别 | 详细描述 | -| ---- | -------- | -| 人工收集 | 从网上公开的考试、资料中收集题目 | -| 人工编写 | 全部手动编写 | -| 种子问题+人工 | 写好一些种子问题,找承包商参考种子问题构造数据 | -| 相似样例随机替换 | 检索相似度在(0.5, 0.8)之间的(相似但是不那么相似)数据作为负样例混淆选项 | -| 相似样例 + 随机样例 | 候选选项列表由三部分组成:正确答案、 相似答案、随机答案 | -| GPT生成 + 人工修改 | 先利用GPT4生成,然后再人工精细修改答案 | +| Category | Detailed Description | +| -------- | -------------------- | +| Manual Collection | Collecting questions from publicly available online exams and materials | +| Manual Writing | Entirely hand-written | +| Seed Questions + Human | Some seed questions are written and contractors are asked to construct data by referring to these seed questions | +| Similar Examples with Random Replacement | Searching for data with similarity between (0.5, 0.8) as negative examples to confuse the options | +| Similar Examples + Random Examples | The candidate option list consists of three parts: the correct answer, similar answers, and random answers | +| GPT Generation + Human Modification | First, use GPT4 to generate, and then manually fine-tune the answers | -### BenchMark 难度 -从效果上来说,BenchMark 需要能起到区分模型能力的作用,所以 BenchMark 必须具有一定的难度,综合来看,基本上是大模型只能拿个20%-60%分数的水平。 +### Benchmark Difficulty -从设计上来说,BenchMark 需要覆盖多个维度的能力评估、有的还会分不同的难度等级,客观上本身就存在难度,所以大模型得分不高是意料之中的事情。 +In terms of effectiveness, a Benchmark must serve to differentiate the capabilities of models, hence it must possess a certain level of difficulty. Overall, it is generally at a level where large models can only score between 20%-60%. -### BenchMark 总结 - 接口设计方法 +From a design perspective, a Benchmark needs to encompass assessments across multiple dimensions, and some even have varying levels of difficulty. Objectively, there is inherent difficulty, so it is expected that large models will not score very high. -结合上面对 BenchMark 的调研分析,以及对 OpenCompass 项目中集成不同的 BenchMark 的方法参考,总结认为 BenchMark 的接口应该提供以下信息: -1. 推理部分 +### Benchmark Summary - Interface Design Approach - 1.1 data +Based on the research and analysis of Benchmarks mentioned above, and referring to the methods of integrating different Benchmarks in the OpenCompass project, it is concluded that the interface of a Benchmark should provide the following information: - 这个部分就是数据集本身,但是有一个要求,那就是数据必须要分字段,例如对于 jsonl 格式的数据,可以是 {"question": "xxx", "answer": "xxx"} 这样 +1. Inference Section + + 1.1 Data + + This part is the dataset itself, but there is a requirement that the data must be field-separated. For example, for data in jsonl format, it could be {"question": "xxx", "answer": "xxx"}. 1.2 Prompt Template - 这个部分需要和 1.1 data 相结合使用,prompt 中有的部分需要替换成 data 中的字段,例如:The Question is {question}. The Answer is {answer} 这样 + This part needs to be used in conjunction with 1.1 Data. Some parts of the prompt need to be replaced with fields from the data, such as: The Question is {question}. The Answer is {answer}. 1.3 Retriever - 这个 Retriever 提供检索的相关内容,可以是 Zeroshot、OneShot、Fewshot,其中对于Fewshot,又可以分为FixKRetriever(固定的几个样例)、RandomRetriever(随机的样例)、TopkRetriever(例如可以通过SentenceTransformer和faiss来计算相似度,检索出来最相似的K个样例)等 + This Retriever provides the content for retrieval and can be Zeroshot, OneShot, or Fewshot. For Fewshot, it can be further divided into FixKRetriever (a fixed number of examples), RandomRetriever (random examples), TopkRetriever (for example, using SentenceTransformer and faiss to calculate similarity and retrieve the top K most similar examples), etc. -2. 评估部分 +2. Evaluation Section - 2.1 客观评估 + 2.1 Objective Assessment - 2.1.1 字符串处理 + 2.1.1 String Processing - 由于模型的回答可能除了真正的答案,还有很多不相关的部分,需要从回答中提取出来真正需要的答案 + Since the model's response may contain a lot of irrelevant parts in addition to the actual answer, it is necessary to extract the real answer needed from the response. - 2.1.2 评估打分 + 2.1.2 Scoring Algorithm - 给出打分的算法,算法需要直接返回分数,分数是一个json,可以有多个维度的分数 + Provide an algorithm for scoring. The algorithm should directly return a score, which is a JSON and can have scores for multiple dimensions. - 2.2 主观评估 + 2.2 Subjective Assessment 2.2.1 Prompt Template - 这个 Template 是 GPT-4 这种 Judge Model 的 Prompt,需要留一个 infer_result 的字段。Judge Model 会根据这个 Prompt 来打分。 + This Template is for the Prompt of a Judge Model like GPT-4, and it should have a field for infer_result. The Judge Model will score based on this Prompt. - 2.2.2 获取分数 + 2.2.2 Obtaining Scores - 从 Judge Model 的结果中获取分数,分数是一个json,可以有多个维度的分数 + Obtain scores from the results of the Judge Model. The scores are in JSON format and can have scores for multiple dimensions. -### BenchMark 格式示例 +### Benchmark Format Example -BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定性。 +All relevant data for the Benchmark should be designed for separate storage to maintain stability. `data.json` -只保存和数据本身有关的部分。 +Only the parts related to the data itself are saved. ```json { @@ -398,7 +427,8 @@ BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定 `prompt.json` -提供 model infer 的 prompt 模版。例如: +Provide a prompt template for model inference. For example: + ```json { @@ -409,9 +439,10 @@ BenchMark 的相关信息数据都需要设计成单独存储,以保持稳定 } ``` -如果需要有别的prompt信息,也可以加进去。 +If there is a need for additional prompt information, it can also be incorporated. + +As for whether to use ZeroShot/OneShot/FewShot, it essentially involves adding to the chat message history, and this part can be implemented by different models themselves. -至于是使用 ZeroShot/OneShot/FewShot,其实都是用增加 chat message history 的方式,这部分由不同模型自己实现即可。 chat history: @@ -423,10 +454,11 @@ chat = [ ] ``` -可以看到在这一轮 user 的问题之前,已经有了一轮 user 和 assistant 的对话。这整个 chat 是直接传给模型的。 -模型可以根据上下文进行学习。 +It can be observed that before this round of the user's question, there has already been a round of dialogue between the user and the assistant. This entire chat is directly passed to the model. +The model can learn based on the context. + +For example, if it's a 3-shot, taking the zephyr-7b-beta model on HuggingFace as an example: -举个例子,如果是 3-shot,以 HuggingFace 上的 zephyr-7b-beta 模型为例: ```python from transformers import AutoModelForCausalLM, AutoTokenizer @@ -436,30 +468,31 @@ tokenizer = AutoTokenizer.from_pretrained(checkpoint) model = AutoModelForCausalLM.from_pretrained(checkpoint) messages = [ - {"role": "system","content": "You are an expert at solving problems."}, - {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, - {"role": "assistant", "content": "答案是{answer}。"} - {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, - {"role": "assistant", "content": "答案是{answer}。"} - {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, - {"role": "assistant", "content": "答案是{answer}。"} - {"role": "user", "content": "以下是关于{_ch_name}的单项选择题,请直接给出正确答案的选项。\n题目:{{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "system", "content": "You are an expert at solving problems."}, + {"role": "user", "content": "Below is a single-choice question about {_ch_name}. Please directly provide the option of the correct answer.\nQuestion: {{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "The answer is {answer}."} + {"role": "user", "content": "Below is a single-choice question about {_ch_name}. Please directly provide the option of the correct answer.\nQuestion: {{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "The answer is {answer}."} + {"role": "user", "content": "Below is a single-choice question about {_ch_name}. Please directly provide the option of the correct answer.\nQuestion: {{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, + {"role": "assistant", "content": "The answer is {answer}."} + {"role": "user", "content": "Below is a single-choice question about {_ch_name}. Please directly provide the option of the correct answer.\nQuestion: {{question}}\nA. {{A}}\nB. {{B}}\nC. {{C}}\nD. {{D}}"}, ] tokenized_chat = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt") print(tokenizer.decode(tokenized_chat[0])) ``` -## 时间规划 +## RoadMap + +- **June to Mid-July** + Implement the integration of the OpenCompass project, and realize the LLM single task learning example on Ianvs. +- **Mid-July to Mid-August** + Taking the government affairs dataset as an example, construct a set of test suites, test metrics, testing environments, and user guides. +- **Mid-August to Mid-September** + Optimize the evaluation on Ianvs, and implement task monitoring, visualization, and other features. +- **Mid-September to End of September** + If time and energy permit, consider implementing an industrial/medical large model testing suite, including metrics and examples. -- **6月到7月中旬** -实现 OpenCompass 项目的集成,在 Ianvs 上实现 LLM single task learning 样例 -- **7月中旬到8月中旬** -以政务数据集为例,构建一套测试集、测试指标、测试环境、使用指南 -- **8月中旬到9月中旬** -优化 Ianvs 上的评估,实现任务监控、可视化等功能 -- **9月中旬到9月底** -如果有时间精力,看情况实现工业/医疗大模型测试套件,包括指标和样例 From 8115c143d0913513275ae416b11153adec9c72fb Mon Sep 17 00:00:00 2001 From: IcyFeather Date: Mon, 12 Aug 2024 17:46:19 +0800 Subject: [PATCH 6/6] update proposal, add opencompass tutorial Signed-off-by: IcyFeather --- .../llm-benchmarks/images/changed_part.png | Bin 0 -> 16559 bytes .../images/changed_sturcture.png | Bin 0 -> 185775 bytes .../llm-benchmarks/images/opencompass.png | Bin 0 -> 162362 bytes .../llm-benchmarks/llm-benchmarks-zh.md | 10 ++- .../llm-benchmarks/llm-benchmarks.md | 10 +++ .../llm-benchmarks/opencompass-tutorial.md | 75 ++++++++++++++++++ 6 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/changed_part.png create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/changed_sturcture.png create mode 100644 docs/proposals/scenarios/llm-benchmarks/images/opencompass.png create mode 100644 docs/proposals/scenarios/llm-benchmarks/opencompass-tutorial.md diff --git a/docs/proposals/scenarios/llm-benchmarks/images/changed_part.png b/docs/proposals/scenarios/llm-benchmarks/images/changed_part.png new file mode 100644 index 0000000000000000000000000000000000000000..91cdd1944701a2fe881b9f7d6a7027236d68f84b GIT binary patch literal 16559 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

@dV|RI zr;K%*zgs%)AT)m2i6FSMtek;j=ZO2CJ(AxSi!mHnu10k##Bm+Q;ePeqAQq($=fAmc z;^*vSgh2ep5vgqz&CFE4M+vfEiAGcu>@;~^4y_gJOgHZNq_Ox91L;V{_-yv3Im-2w zj79)-B!sf6L6Fg_M$yiS@fGk-y`+Ou(n`M=IWn!91*_@h>pKet@`>;Q6ex1+2PJ#K z-4G6nF~GKTk2G=pJ-Y=}X6)d)8oAKUIf5~W1@xwyF)X@R@opx|LQqOlmQj;hwmD1u z>mdw)p{XGdL_@Z@q3Ty2AIqA^J1YigkbrHWfbWKrUzaxWx&H@R<4u<~u79eIL4{_8 z0nY{jA{85dATJi-YHLq@%1G+RJ|Z`xxw-!&(HMI4~VW*>l*z(D9hU{3yO~><>xowcOURj3=r7l8E0be zobi%|t*xy|*JIxIZ=2O#PPTnJZu^$3Wx0)9wz)A)D@wXjH)vRATi^U6q@*%96$Q#h z;s9J3ptPCTg+MC!bbK_a(NJQ4{#1dZ$=1t1*av1#OMDI}rJxU+DmflL-XVz`jdWFh zsj<|!X|*CatSSe~C-1S}(_Dlv9aMA{|^`Qh<_nRST-7AF%w9Tju* zh=HbTPh*f>(-hEJfbA$WbxS&GBf#87YTSCvT!)3;&k(*+93LNxh~zj~p}IV~w5fJ( z-PZp@Z{F61l8;o=@ci5)n_$6jHf=XOA3!(oS5-H_NsI-6R`W^V)~(eV`j>2)Y{~T# zqN4Y8lXUf!-eoCMGhhP*6(4ofk|JHM^7;<=3>agE4A_9}ERabPA7B2F_ocQR06JDY zEa*|MOh-@h_N|J`l^mS281Tu-qN6;l{^pAo?|%I@9riMtfe{x;g8r2ZtLi#X_iCqS z5-#`ynRp!~-z9hE>QR@v72G=H4sPN~=e*`?SRR~XiYuxT1En`@B%SdVa+j&6G7V#H zR6wkeL3SLTD=^?9^}o-~Dja`J>RkBmm%;^) z?>Mc?;(ua_1?)*!kv4ahGGn6va2$xhSE}MCC()r3TkEwAn-h`m02s?mha-)R41FO^ z&DdEbLfy_r3^8yK8DAJT=O$LfT}PETo8^tx6CPU#H8SgWoSE2t8NN_@aIA)bt|==? z>dc(Kkz?Z;i6cCNwXJ0 zMmpsBlyQh3`d(G7a;V`VcjU}~k1pvKqiQ1Csz{55790?EN!Gdt`Uk#QU%Ci_%m9q! zlk!bd^UChp!dY~1iMpJh@SXBXN_!8<$yGrjNe+D;Mf)Xl4TzwY=o(WiGwS;5PU}=y zk%fG&pY1UP4xM7Nti`#c924YCrNlac+zjjh#~Jaxhb${?3%eEPh#fgYmgbjPZZ;X2 zMeq?hB1|KUOjoU^e_7(S`Pc+AK<@wq@-q7r5nd^RNtL`G=LHtxE0nCvqW7hwfQULR z+&%lPVItBd!nxRANu+4hoOOcZGohufXF!BU3GpWBz2~2IoBzay3pC_lIr)3nZE%`3 z(?BcvQeVZ?morRqh_?tWJ`l$u$Ki%KVXmv%4i1a#Pwc?_al4-w&UiN&&EuiWXwYKk z?3D8|Eb<8|tLE@W(7h~}$RI( zKJ4o|T@;ARMxB?A+rBPANREPq3U+GOuB^ZZsSF!eG(=HMPUg%X$rj^=X~k-UNPr<= zP<#@nUn`~GAb`@!aXKGeJi3}}6#-^l&!m$PWAg|weN0t$=j>WTl+GRdKl_L$z*cj!M5CTJTF}NmL zcxS~HOok{&@^31-jd}z7J*?@aS33+-xpsHA3U_2J)$2R;_p>jL^&E8A({<>b+R?8ZAOM4xtPWGLkeStmH~ z_Q#i)Y(8%h<# z9!dQH20c$WL5m!kM@IPQ^MH*vv{|_u?JDt7;>J=_g**xIWaQbunE@|Pc}z`CIA|Wh zzc)fNrQX*YNLi=XyrD)m__H=(1qKic@i_w(GL(T98ewD1^KTgrW9_i!GL95025r#YNB3(B7*7{SFa?E?0oU{WbI&grObLZEAwMJ} zJ!)vYS90H=|KrnM`JIPzp()I7vf*Oc&^i91LzGLIGy9z?4-4NuabZHAX_Cey_m#vM z!vl19YqENE|5pqHT%YbWI~T!YI_ao8EJqPC%t0ttx?=`+aJOOgofm)f@YdP0R(FTJ z-^-@r%CCdcNcwGNOThoaCV&L5&yXaAgcwChe7NXeIAK_qB>R*upFQ!+DDarP#pDMq zGVIf8a93-c8B6|z5$BB;zhpMbE74Z>5PlFhuiBoaDfSsuH78q<^6WZ3rH5q{XfmEJ zeg3n*$b004O8PDxFzP%)0-etV;_sgUvw|`rXEQ)hIDlDksx{(3v6+YQt zDFqf+XO(gySA+H;@3Q*R${A<-rF}2H3gc*4{>sB|8jCcq{-)iY(|ZEkXOlh@MGGEc zpI4r)TPWVaW?>Tq%k_72ZBL!f3K?WKe^;ef#s|qr+CYbM`MsB0`{FaNhilVT_h}}U zD;M}1Z!hcfve^xLvDOdHRvyRUZI`f%jS?al=o>vwGgW78)3n@&>fL|wxEiweUFO>S zpzpqi1ycaV{U?`gtQ8^F(uV5t>LnPyp3D9t-=Ml159oT+Yj&=M<=fvvt>q{0k6a%c zdO>I0-Ac!2)<@Uw)N6MhP+?nWFrEBo(06==AD@7a|0&&bdwp~nxSf~fg8N-6^*;wP zZ48Rx!Cj*L&sHnrt+gA=07p^QBP7P#T>jpn-6%hyL=U1yWS1rqbYV*JmZSHg;y44F z?Y~n6{-*1WD}T3iH)R_C&Z_D^SEL!DqDkmPW2cH^dS^+w2J^oQpDZ|4k_z|mydMD!^i~)*k3DPND6fS z@__NLwa>~sdJ^3E3x9tLM%PA={(JNckwmmRFW4*Zw~-L;8&o$ zuu9{t*zOBUe-IX;60*1y+txk3+$Kk&^uEva*K^Ur$3I#s5puNzJtyE6)O1hF`RUh7 z=gSmc7S)J~Xa^&`=|IW9vI0!*a{G7dWbkg?oRq@eKs!(rJA(6VrS&#mMFj>g0z};zZ_`;sW zgK&$(?f~GF+4(;eSGwr$1#3N2k_SGbhz&J2<75HTlm#O?c2obrcZ z=TU;=2M@ChuSr80>lOi1^+3?k9<}7K(iv}yAKcl}jMHLgI(q6MhKd_xgmWO`rf2A; zx0V~;RFC3B$xiczon{}Plf{C%Y>{qSx?Wm3{kwV#@_)eu`;@TL4`QAmPf8}{YI*bK zg&aLb%ZZn>ApURrDo)NJ(0+yP<}L;qE%>~2TAUxh;u#L>4L06JO9kqfh`{QnGGa)@ z-!dcnkxf6 zgOJ~Rv|P_~m|SY@auvDZIFE_R2QGlt+E>@+IkT(W}iduttnK7lOjW;4A71nE@#bG8naNJ!Z(b=tr7W<0B)h(~GM^HI zbEKr^cbZH~I(sXj0cmfK+E>4^O1il7=KoC)BzgF?q{yt~MaHU{dR+QOAZAgIJO^F_(jHQ znW*WksPjQ@OioEkU=3hwiJLTkdm#tOS0Dhd_R4F%cta>z1foA;P5nANS>I4v-|qWL zaRzcSJG8!8BtP#H#152JKXz$2rct8c;Z1N^fnk7^cRJQ&;Jz zMwTi}OT{ckNt}vmM+zS~>l{6}jWp>~+3?}>KcNIGaB*%*G|JlXG1)HVI^NdgXo6x28A^pB( zwTVJSd*_1J4|{qlWa9lnuhz=l3H#V@K+a{wc&5lNcJ=$QWPoGz>#ysTtDyu%WmT_L zhrCzwj z`d^-xiOw9HZ{3#4Xf$@Ub%Mjf^r>Sw8x`pgbzcTiCbIvPp>Y1mwyXL6Ca3I`|G)e9 zDL55(o3OjX?D-H9&Jg}5*|x3@STR6|#J*{y`bAvh2M7iB(YO zZBEKwtBxbM{WFMIWa8^8>G}w7F@f^idNga=&ou0o5{KA^=6UpxHJQVAt)xtzwbv$u}3D}Pdk3JCp$ec zOYZ%WOAY?iFv@_!qmfZWY0Ub;O*{VYuufh1Iud`@xBvTlRX_uPoulVKI)y&R z*b>*zB}!@R2#8Mmg&nPQ+U*Lb&98Kg);dn&(DpC4553KQ~*Roq?8=D~&@MBP{+ z-L?IjR_qXHgW|5$`oPGAuKVlg=*V&ZonG71J`#nFin20e>_?)PJ*v*;Zu?)YA1{VA z_7zf3jzpE1INvh9<`4i@e{CyKMJYl*LzP)E0PgyLRX%hZpW2WUFcw@tAO9O6&Z2wQ zZTU&Tnz5>rcht{#bKJi2um=7Z7P;G^gQV$WI9}P1Nad@&kjWpr%^1_WR=pd}B4ff~ zD85BJH92|na6Y=ZwY6;9tNZNPPrHT`zNybl6Y&e7>%8a?DXGDYGw|&yP+D0x-Qm-0 z&=)(9sAjj{8BT9vGH!O^o#Z%sC{!v(9!^iwwo`PmAna6J+madAy+&ucDQn0>X=eU- z)7>bS?zyuR)AznrP?i0^A3VcC%W2$lWjJFsqHwRDOP)41)UA}#tnuIM8DPJw=2e>> z%O>I0shq^n`zifrl3@+c8o#lssJPg|Vm~M-$f|y=r=uflXUB{;+>V<3>5yXL`~?I; zUf0xATL^s9zy`J_PYzlPLHY2Sg%3{@LCS$GXUF~gXa3Oh$GoEH;^|G9{o|vXHvi+W zfWUjR`}Wrd&;L97oVv|dyLW|09TyQC)wHH2{i@gS&@x&8L0SA0Mqgr8mrFXl719>( zq~lu8S+Wv#yO6T582qB=FmKy%l9Xh=B80fcXPebrSjaBiW^lCVYQHrU7#5Z}zWQn4 zhXJRyk))IA`zk?h&vpOfX^j|)#YVoryW3ipVX)A8TLS4Q`QBLA`OAQXO~ii-4rmmQ ze?WIQPW^K1+7R~7g~l5t2g6@&;kQe_KtMyL6hvbF6al90i8OSeBV95 zruS60iLY)euFfyj;>dvqiW~H%CZv9Y6MwsTJ3g%Eu6^06#iVPu0yJ7_nQ7{1OKN`M zbbF$GIUG@y`wKW1wohH4P%&lG4gHfWTIr;V`71v+W3Tch^LDcuMORffE1xdYs!|gv zH5E@)29%HeBZrpefY1KSmZjRU`dqeoq zn*}Ld4(Gh=L5GjuPg07H0jhHv*K1g};C#H?;CjB*-@G&G*Z+mzVaMRxw_zWI`|Xj` zI)~l24LV`6M+ztZkEX8xs_Of`e;_F+T}p{aOLv1((%ph|cQ+^?Egg@L?(UXuknZm8 zuK)4#{rzX|j59j#dEdR~?6ddUYpuN<*r#WRGqksF@%GJ*K#lu-e9Jo zJCoX^Fo@4d-VEsV4z{aL1bqr_$!x3vnof0TQOF-e?>i!(*TfpsD&zcE3moRzccA74 zN}irCno}SU_INyKa-2G&BB(2xxmQn7ubie+dHJ(;!14tEBB0-$nkKf?z7|cXsc)!g zE??4P{Y4JCO2f2?Z=q45p4GLPhoD%wKf5vLYo;&2n2LEm57x&y;sL3oliyd3i1Kl#L2TZy|i*D zZ*tC31-k=|tQ>4YQ2yZzYxWwHgXj@)4;)8;UjX-|oUFUK{wCm(N9k}2cn^EP2?51p zc-S*As@eW4m^QGxadIP%EFr0~=%wssH~n950P8FMq|~FP4T)Op&$mB+r!It}vSe~; zX?f;mX3E^JOL|DW^;X+O6c_VNBl`4mw{hYQ=cX3t7C`C@m<8)D%CnKy{BEiO8SHPv z>IQ%S5BbN~uQDi!he6w`LePpYzS?MOCJJ*@dhgEe`2qsemYe0aruFbZXawe)PikqK zG7*3dIe_bPL&(PnDkZHwH-Z3r4g!&g;wv87U%ClV812z5+d*~P9R2hU1KFCaT^nc4 zGeUH0@VYyTZiw!&jSr#3ZXmqUcXv`Doa3M96Sa za(H{(m*cx`t&5%lgoHgoWTWI+x85fsJaZ{2Jn8fE#>S~Ve5i&dE*@?a;OIi%ur04M z8Hs>8ENYv+?-|x=2nIRgfnX%L^f-O){!+wH)^v)1YgK)V)kF-zHzwO1>6bC1S>qDp ztP)Gbe!kQ8L)L>(3qnB zY9FT@6Ajb8n;G}Xxh2bY7SQDI2w%TR#zFHJ?O~r(F}7ZginssOwb~o&s~`Xm`D0f8 zaC6(*Kb-a|DAe_&KK_NUu(X@!?k!88*JFLA2)s$zMY-{UwlXlOL~Z!CP7w%%E)OrH zL_2~W8%NT3`*q97*4AEhknvJZI#dxY+(q+}+H^&?M&8kC$zTeh2QE74?ngATdv|Qv z;gz`aQczbn*YDmeX+xjSM|d738}*h)pyzh4-Pk`cw{9=HJs+hU6o}b36)aX)KjIBgPjl3hWNf^~E`ch=(4s%gAP(;93#{LSX zapP$6*~z6~(%uP?0fm4FOv%lp@T-Hv*5sL1_nz)jEam`OKfthF^L}n?HSZ5@y}8$M zNGg%7Apw0mPWl*e7zjmkNo6$`SO<<9J2zFpqbW1vWZ~(f0O4{Y3mL!ZT)UwZZb(L+ zr)GzL-l6h$Wyj_t(YIs-3#RoEwya!99i~th<)_hkZ|>h%E`-U zQv7EJ0!ny<0RP;uH}RYnH#*Oa`Demyfu*fTM$z3CZB9%td6jc90`0DKi{e*2`3b?Q$Yo^iRa2!}4K{c~kOQZI`VuzuU~ zn&f8lJ}~v!bLvK7#%HiDW7lH&e%(1K+{smt^xwvTTg>IwNRl-^J~p$~d~OtwN?=JF z+5{uW*P|h@{NDSr+1taYZ#g6|2w@>ES0mm%HpxJWrA~+1L*&F0()Dze=^Sx1w-qGA zKBW{kF$mm`tD8{Zck~MedsB z;8*X?UH{qM7z+4bLeuz0Dl28iW7)p-cQ7>5D8fNNCvtO9Sy!!dz4S@F1l6EorceDn zJXv2(gaD^KxqEk1?9q;a)zwqRg5tMPCbZTIGY18l?|tOjCEu_p&i&UcmmjVt(mmC& zavO4W2EUdY&1Gy_ypHeswhs55Tq3cxJ@1fyXk^@>%3X}|kR3`VSg(7S*+D7OhV181 zj}BL^P8V2f4Fi$VX*%;oBr&qD1NJc!F^M`Y=kW{SSB>W=aNu#nQ%1P5MW)E`zH{B{+1l|ay^z~_ed$tf+CLK<7VZ(N-F*vBtJhtVmFh+cK;9q=Gnhed|Y~K z6Bna^K%ItJFA&%RG?#?H?oTG`~VmTu!Pm3pROfoR#kWKx|jg{*pQt3 zoV^gO7E;5Tys{lmAJQk^Hg6e;^NClglPcQ>Gnlb44QKgyz-wZ0(~aWG=HXC5%G*|Y zerPyD3W~yvkBm&I#ef|8(kj6qJ zKi_Yh5>bF3!t$cLIR7-Z8fdx$1n&CZzQ_tKGOpQ@bp>*+!Y(DZqrsLmc2#YvhwC&Q z*X{W!@%dmMS5}qa=VyGk+E-u>_51y^E(tiMyEAMX12KcW$htbgg56 zyH;?w*Y{L*bB>D6WK&|9A&EUA$^ zv?@=KX50KQM}Ju*GVmTN3K;nHYLpuI;4z3~-s2}mFata}RUYi_gsXE>s;+9s`cg*JDrjGi`MvK+K`22^o z_0R7LKaaF*98_HMiQsQoOqWl;V{4+5n7{??|9)$+n1v=0KT6(sdTh-{c zp6^@HS{}|?m%`wLdN;j7fTX|qPAFT!wOKz97PV*AnTIZflv7BTQzkNNeDybVFaj%t zl#aV3J3TJLswEj+M4kdFtr!DpVy+ZcX&A^4y&yTdbn%yeSs@UZpWeE1mLj`}?`P$a z`}70^2q}4QQx8@4yP{CQQ{TyFF${*>Zw7O)O84X%T0GvdC|f!jOID6tqXBe*gjL$P z3S_#;Z#nEs#A)WwJG%X%dvZQ%1fV7C7zm2*n3H&Jjf+Ro7dMRSF{A!*(;*}td0a-W z+@}51E^t3jQaBJCalBZ4HyeNFZZeIIiSsx+eDFjJ4=3~@vdiFX$)P^^ku3@)+=0t; zsnA`vbkxDwVTUcr`|;EnE_&0{d8Wv6NZKR4*V7w}e-j`3J-tcHFQ=%nFeZlvDbpO% z{;CKokvne2KFUf&h(V1W#CwS3w}QGnD>?b03kZW}mQuQm&zt7ih(K<6%@-c1Mgux$ zE8Ic|2;Wy9-_u8oV7&zCcXSXLHAJv)mbXL@ADXnP*c_^Mm@R3KRznL+3@ zKdT>TJ|J00j|~ISk`WUNDcF`!r>haC=_wg*(VH+gO~RGP_Dx?^4g2M~eZKoj4FDvI zWNk0^2(}ti2!;&WkBTM+G*h zQ`sTS1G^Tcd9-}aISoa1+Szt>QRLTH}-?X1m*1=C|&E;YP~ z!uwIQd03Bmu2>~F#}?HXNcwz#^%=QusdExtSyjIgLQnr}#s)>5vr5VlQAm^{`=Cvq zk~3hz+WP`_R;y&u$Xt=F;aIQ;*Ix2d%A(OH402M|P|^}?g@gf4vX2OswL^MB=s$)wgR+>DeM0O&)qnI7I%&oPozW_pHRvq$vZA~^M+*zb z`3bBvqR3^5XYMcEy(`s0Lj0r6fQ)LdY~Hj~WJ)DOWN`@rqFcd*?-e~_DQ*1rmCvFX z8$pRiPoF_$hu)gU7rSd@a32y`5Qt@b61nz2?~4iOAPcrgEZ&Co&C0Pf8y>tKa>$S< zQ>a6|*6>omG<44l0^yWlEGc=xp9LC{4*P1T2Qt$3q>M2Vy4PN7r}HqvV=fkH?(yYpuY{ zv=M0b)64YFz=YWo0k^hSc`Y9k|=Lgq0iY$>pxp(cruGT|u zw7HH)*YCrnhdu$2gFOXCJVUvx^c1BpC25ImNR;JWo`!O#U?6H1!>u(3@?TTe1*1x) zx*GyQaDe-Q@}#mpJ~1(#faU6$Ez7nWKfdN0vt`d)bpgYbhIpNkrK^Fy7mbaRDIjG4 zwGbk));1oxnjQP~$#8M3$hJh(%dp_YdW*@rMEmAXCCx%nS@&^hLiCTxsMahs#iY9!F1DLbY!k~6zK9zQ2A z841@moOiZpZ_5%}mXtc;vBy%wVg`mKw3xVBd}-MJvf;o+eJYe>c(8rk>pRDlO<;NcTa$(&L(D>Op_k}!aWRWBRV0Q^&T;?e)RX6J0S%KM z=u>Mq9Ri{55SjP}vU~=aYN@Z@taOwO422>Y>PRF?H+cka;GJ(w%Cru5_ld{0llHe7Dao4f+={RJn`%c0h zPe!|nj+3mvdF8IUdH|eQ&AaClZOy>g4{P9Y`uQjfBtEV_m=GJg=hV_=?*VrX)QTUQpFP{aL-q^mBzWLUE zK0=pqVb*sMRpZdNSO69R`{{i~v;wzg5(5CoM~l`_M8KDvc)dF;$QfC>(>Ios6c)v8 z)18QmPvx%~v0(kO;k6yU{X?`zCZSSramo&$5L2(xfCgd}EB7kDPFgIaKW`cqvNkrx zP+e8vK}MB#?Zz@Z-3OQ;5x#0 zI87V}mG}F&zRYL^mL3@(YmsJ~q`W>pIy!JU8ghP&@%teK!AOtrU-o7$D*z z3L=rEA{+1!N%Z!)?}zewOx$9L6$FQL57!lV=yY`T*W|b*3KI~=gQ2LVMbi#dirCc; zLEC=s89u_JLR?Sx-0Z01%>!y;51>lgE%!ZrYgKmE2?1Tx2Re| z%M?$7=&UCnzdmmi69LyCQ2MW*-6HR*^MbYTi`gSfklf0&h?dLQs52`cY%L2$>{R~I z;v=o5r#@G-5_>TOhB)lU+n{P@kw2jyXcys`K8mh~OTR6U3}NY(QM;Wu7h08t)RNI3~lV*f%I2UtRjHVhj+w8_nEEa0;mnZKdX3DI)Nn zZ@2#Y88fXs&MSrS zrk||Ff0ZU-No_Mo3-uQ z>rinsxC?4_Vz(#fHVk>0zz)7sMpka4&G8Y$K(W49U%kWytIF8qp~uxq@7S%h{8E~D zYHX_D*}*Mvw<_9HgZL~~03ZvJ60gxLj_rbX_nL|EKClt&4I`doQ&Nse9*U-oDNOZx z$MhbhixJw@j`i}|qm}7{`9{ob2p^WCX_A#9n_(ychxzRH)7=g&nVyoN<)a6y4scK* zBiKJBU4s1|)&B^#b?fa(O2Jx2g}pIsM@fvd&%c}x8zd{AJ=P*q=C2;gFercSbQ%CP zlpXiHk~G*vH^TA&QjP91s+fg9g2~zTWUiYf%=I5nJsU$cigRfxpjfy>AWtl%qv3RZ z=mn?$KhdY>Vg9H4irU9D`z2)it<8hG>J6!-mNbrt6ei6aq(8R8xw~dod4<#;i3QwK z-QO5lKY(NGbt9kUg_^6NZezh|=acp;Wt?~N`t{rj=(An_9g*iIw*IKP42q z>;#~*V{+QJ>)Rybtm1=&#JE_XK*vXQChi-a!gY2S%bVT=L+vz2=M_ZWMKXc+LiDj< zeD?k^M##(8SEIUNWukl$sMiLF5n%ouh}wa}dt|2AFcU-9&B$;5vLo)2Q4@Y=IYS`x zBUMlwzjMcap(^>QcqDdxDkC~;Kv_rmtFo4Z-f~Gp|5?mxX17e*C&ok|2kU?nF7Gpu ztF5U^mPsa^I4r*RURo$IGx$oxuw~?5lxHYjsSKUAuGkhJOluvqwAbOq5++=-wzo1tx*ido~;U#4RFc7=)dZc#i5-B&(NjfIcmk6R`5*#L0;p1WfhwFY}kf*y>PqIn+M?U*c5^Jr3Hgp^+eU&NH+j7Gj~flJbQ1|1#Qc0RI#y1 zB~_c;u8;JCLf7Z_&%6t!^t@N7e@bL|lycl}D=|Jrv+_x%yV220+-&Ey6lA zg^9@}(MZ53!>!Cexj+s|Tb@a@2M44)Y6miz{lVv;1s!GgXs#!t%u$2CVjn0#I{ke{+7 zxG6Cjs_LT)a(;_sa*O!UD09)Yq9=c0`vLDRcD1&@JxE!vF2{_bEj!w;~r6sc! z#E(kU3-{p#dEFf7`gJZ~ z6ZWmvxhl_WKyq9(ETwr(s6`G5f&?V8QsP!6g^M?*_px{{ZTw6Mic3oAfNG0_upP(Z zwewWPBvjz`WWtvZpjl-33kH8DV`4vdewZnm`s!rY3VQlGQ_2MwuZSqlYA9u3Aw^CV z!r8JBQFq9zO}r+(w`VCFi5+LVrphm|5T74#>(JEQfu&iGi1-7}jRASmEeTd*Zlg3cLNFi-^t7T-(7=u77=(jFYBb3T^kC%!YiaO28e{^+l<+iAjPsw}Ov5Hww}r zM})Q71{W@^oZR@PV=S5SEqt<@vCuv&K4Lo{rtT>9z<>Dxvjw<1{*;!$8rV1z#TIde z#Ry~os8{a84%_Cz%uC20Mk(CigM>V$2ccXN9ioi*sK=fYmc^5XAHwixKLW|mZ|zB& zp%PeO;l=d6)Fd-=8iwR!3;9_~Cy3zC zVzo}3#+Z?SPx0$Np+obJ4E#3TJyz}89=oRb4_;4+>l6W^JrqVpe5Z3dV1$FF&Dl== zcX!hyqYAZ1UDcI9@ot+ zo2Hkz{GyNq_e(a&m-__bK1G#mtY*duoF-4mmIIujd1P3(0=LAIm5O(5qRkUzZ3vbe z5J7@B#BXp|99NmsP!r&ygEFSQ1V5af>zqFvqsV~D-P(9{cU_8|hySBJ=tY1c|H9z? zDvC%5iR+jSL5w$9Zbsf8uBuE*W z%z)$zlvA@jUZ?8k;d=O^ndn?X=m5QFLtg7WIs_%UrHZ+W)%t`K`m% z!*^S+d&_2Vhio3i13mZQd}M!0#F2m7_LCoum6A zl=U87XCMQ*I^@0Ck1&M4g=tGiuynRG1a!{CdWY(VGgd^;+5m@o7Z0Hk4JzP}BP3VY zwX^th_2yE+@De<$-s&T7s$jbrPb?Fch*u&^a3VmQH#s1N4!7$Wyv=Y$2oIc1{vi8x zZP~bZ94p1DgxmsX15{+0%Fc6#PDx}i5Ny}O-?=iEaas5@sm7cB?gF$erw{T#GLhAeRqg>>xJ5}FoJ}Pz{1V+fr{5|Y0vQ} zgvgH!n9KL+RdNy@ob}j&>@eE_HkMFAZ+H|UP|BJOqA zF#;ACr8n`J&!6R{TY3>iy+mGSe%q-EWtl)M5ey1w2Nn`?sj)kfU+;?;dzF$zR_kDc zq;w^VJa!Kw^+mUD~?$+Bb(cp$Nu^*%mAvri9In;CYfB@2;QW#|$ zk(7A+5BR@L|M}oh1;ZqLJ)N-jDA+{s7i+nQK%)+Z1FOKzG?uVUoQR3rbOtGj%=C@R zFtg>Vf)6Qvzzc{Rc1oq)P>~@hpq&`}KgnS?x-p{S(!S%P1=x~pl%2P_?XvKDsy+Mn zM7VFC?^;{xl(=z47IS?_O>F);)F^(vJ($%Z9w|&6yi|&hWmQofWwm5~Gsri##eHyP z59VoT-OsQ^R3}K|h-|047IV-GZfL%AxZ=l!MswR;B*&UZ1%zFAJpE;T^(V!}#!aVQ zs9Y(STykX7^YKX&mBPHgJsWF#5abggOb-X62hKWPIq{FrC$l|>wNF2>Ix}0n-}Cd0 zYhQbGAX*>ae#>-6go8MjvyF)~Xbr!;bo_XUN4rNeK!z1vrzIreRRScT0RaMKZifI( z;bofw0+ZkFp=|~Y=RAwx0TL2F=KysYS^3Hywk-2AWVr-AW@z<_j()GD<%Sd~K-?~K zZVHuRJcTZs61C?;e7sg!JuiE_^UxxF#LI6L42C03OrXcoeCMfKF|)KBjt+2!&9h^cPCr}x7@Mq6z8VhSy zu_x$vGPH~>XV%erHJW`>y^oFY51Ha?Ioh1IcAEeOJm}adjQhUv%eTGTVr-k)45bOv zQxj@7doJAxr+g8ID$cm6{KP5AcL1YA^cV5jH^4-VkOXjh_V&n(CHrwz6Sf5V^fXxS zp`%!CmoH1d=a|}v#f2@a_Qqlof40S8bQaby&6Tp6vldY%gj}% zx;?Sdyrbr1o-_CxkCWWA8rEyAIsys=4`M@L^o&5%#cU}~CYZEnW8dwDdw2Jz{w zgNytOXdALR51P3Ej!a<{QUACVWp6x8*q38!wzhCv%kBjy#7M}o=a@A7dTg^INqQ-I z8Idk2$3le#0x@PR8;Izv(%u7T)7Pt&viXH`1E#gHj*s!<>Zkzb zTm7|{C;MiOu#-S?DYw<+HIyi33XLx|iWp&W>+PVgSVAbV9i%VuC%#&aX`;nSZ zeYdAfZ%H?4Nbk59O5b}K`xGuqWTFCXozaZNdGBuWh1@A+qZ&L2z^jNjvwNNN%B@A5 zFfG+}h^Si%dij`35}U#^KRY*OPfegh_hoR9yKb|`TEJsu93PiRj4_eALo6(jpO%at zxuXo!L7?Alb$eF{Xbh^k@;%u`U^eemP5{>ZwS#kwv2+6Ss!C=wDg`YkSwVKo(aDt# zw}#SQ&6N6pijKAC)E{svt|>5wA1%oP)V{Yw=llB%OO=80W}e{J&jkxA)?IWcIx4VWJURE^UI$o<_yp>lilMz2Realg0_@YCOP5 zVnV$h_GvSyc!(A9h@@ivx2oRs*g^zr8!D^Izim6eWhJsi<9l`&FeHWOPMuB41RgGc zd5%4HuR(YD-vA6y#N`a?FngZ9gsV5(L=VuW`7(|b@NLPT|5kW3G@I7h`soUEZUKf3 zz?$eSdh9P*0ACOyjmNtA%0)=|XHyA(>5$Lft*&P!S_r>OE{&UuuYMVB_!X8B2Hbnc zjfCBh_%xo>^G8Y&=2^mE2Z=`QR3d<&iYYy5NqRmGDO27BM_1boRUPu11T7Eh};w_`BqZs3Urm^07 z5d~VD6C*my#i0^1SYNV`{N%`I=O*M7RTNa!!@u2h)}Qmywz#+W9(j4#1?h4w-B0fS zw;nGU0Pb-oXm0o5)^KXz+M_L9_j&ZfS+BHKwKb@7ZZel=3$VV$JsAijf&mHX6-rnz#?KF_9zV%~96%DxUa5|Oy~cvc z9?xNPm;5U)VWpQAzEhoWIIAAzF}CfnKr}dG1LjM*(o66{LJ?I;tJRCzFd~;y-~vQ= zAI8jKBh|=SW88Geu63%8kfD=n_6_oi#&^`;*A&K@Gfe>+DM{j)M2UUs&qw3_6_n%^ zfEn=9ybG%tyd&^W+=e$h!&63$L*016?HT%@;I8-Z&7Iog8Nne|&VmLXS_P zcRP*Ui$Y1UEXEHAGCb@3LEbp2p{#`;AGez*L><*nqV{N`WhM$xqeY|bkk5em0QmHq z@Y{e%1!yh2MD$)8)X_qvNWi~qhHmSeGW;tYbrPfT(?cL}RY-Ne5dBK*vMTNc zO;x=kU>o|=wnXgkIcPEAUP%DrKCeCNd}SXNQrg}6@|`X3qxsqbJjar6n}M`WQ+p-2 zr9^_JxyNVv_{y4$s+tT7P}SS!6Qs`CD|m|l0#;y8CRJ2U2``Uf#SBxQDY!T|iFC+` zc|5P!ygS!yn0sV;3HLPx0tfI6q!SLtK?+fqh<0)Cne1Bgp%-iEqi~SJ-P$JKwG;tA zjo}SdnkZ;VR*6i{%xcQH7|6M7gk7H|y8#58KMakxZrGiLm4G5a!?qCiTA%*U1Zkpi`A(r(Nz5E@|slKZi*^sVVOv(laY>-mxi1f zG~E!)rSClh^%GYg5|t#=(r+ z(?t0aNh-5P)pZ~jWaV-BIY;(|%a*M7_DPA<^9Y~E%7!mrvj8tQwP9P5n6)tk4EJ+9 z4xSNlrCgMxccTUg_@?5Bd+ozEL#f8cmJw2GU4RUqdO0`)I%|*fTQ~2ziIL~X<)^mB z&Hd}8y`#MYPqcFq4U*{Ox%~80j{}@N4p{dpG zqT71;7Rg0~(wz3o{lp7s$7ztvl_LaDy^J9xpDCec^jG{f~vo+ z&tMT2;W@*_D6_k>b5wD09v=NE->+f93u8cjgF?2;BI*{A&g16v>oD05gg22=ale>~ zKzE>7z$-r9o{En9b&qYc%(zW?zg2a3D!Y4oGQ1RfV{0I?(BI}?zal4>Kh+5!eNafN zuwW0VZ$)?^m?()*TY?z6;@D#A5 z=k+Ax*oH{U19~Rgw=+N}7#9mOTrN96``=eW!2dtJLS~xTB|n!pADdfXwg0>;KvR9& ztn($hqYDicE&LU383F$5j+lSv1#9O|z#W?wsCIc&eB?vl8E!O9{ZAq0hrk5ZW{IA2 zls1C9NHl+AS#?2|AX-AU4YssS-hPYRbP6^_YI4C(G+c=rR0@~@Il&jOetH}q6JP$z zBmZ3v9KZ2#kpMzG+K~B zv-WyAJS0p7%}2|YAIsh+Y4co7-fcVNaD(ismeBGnAx*hV(;ddh3Bg2gH!^t2Q+b7^ zYyq?`1d(H%a`G_>kbSpLk5t^$;0XSW%>yjXLG1VYeLvdBAh6zid!X}_t_IqXV88v@ z+4yBt-q;UyfM;9Wly1Nc>)Oq@bN}qA>l_tJMrq}okoz6hn9*@q21?}D!p;Us`8B^_c3lF+3$bb3Ecth;c`G4+tF|p{(P?>{{PLAWN#6UumLcwTIc%X)spWLjIrk5rtygZ8 zg~)@+@>}S7KFh<2lxnQ+*wr7E!sy~}5orQWW!Bvwzmus>@ zZW^7!Iww)k6HkOK73kmTenWyd;Vov=F3YH1!y_Z&RoKA6uv1RXtrw$Uu-IOR zMp#n4!MDunUc0Dbv{mZtCcqcgMS2C1fN2aFQ`f#45Sg^WM#g2*#x5@B{1`47#{BO) zKW*^+m*yii7%x2yt%Jnet@XKsp{2p)F*To{k&Xv#}P z7xr4fQ~_00?R6lik{)tp*)d^ZzT%j`jTh8; z;Ju=lY2!rj%3p?SqJ2*RXTngK*BVAp^J#*~qe`0SYU{|GHZfx-E3R3aqAX7*mA^4n z5Ps;+F^14zA4a-_=i7>%&+yZYqiesD9BaNS&sm@Ie3>6&-;PDJr6VLF?$?Q-gTA3f zj%VaTMTN-amZy|Vw|ak89{pw;b@8d=VL6$AVjY9;p4UPCUiquLDRg#nzXvJ-vw(*8 zIXnWpUf;wR8mh?OtXpw?2vb_yI*8H1AO6o~LcxtHE`yNAqxZx>?VB@e(Rc@XT?uZ2$jb#obGgQBXEU z57JvKIyHy@@+=BRd53 zA2?SPoHR&}!#rP6?p++ssdEO?NyfJ_@v(mCzFHCx?td9whKaLaT%)qhjt>^~?EBfm z#t|d}9`Vk*#o@U()z$H<(1x*BnEYhAd;jy^uGDooKv ze~-_-FGsGb8E|V@TFIiy_8~YPx!v}o5+Gg|pwujqc_{>WA*Ke`58So=+KhffAWP^j zBZ1hBLtosb{kv@mDS^Mq|3cz#-~61Sy80Geh;HrdojV-_gjZeVd7}mA68HcLPm|EA z^=zV1U%v!FA@2xyKZH2z;hI_kLMp#OnO~jv_DHA%I2107b&l5wyTPsCveiYlk&rgOrJ#UWEmAUh9| z0i8bua)_=%%+C0SQCQq3p>Q*6ky=?*JL1zp{LNrg0YV{uzFD`jFYX0jt?lKR?1pD- z+WMth6HlX_Q!H!SLuAl^Y@-?LMY-$u+_KAI>9?TY?R^HCNvLlH>PdS3Pq}`%6uCI> zY&B-l3qYK@g-?(j=+ux+eIM;C7^iDJXlzq%8UMjJrd`UcQ| zFZgtN4Vlr_QfQ8W6!WOz&nc$Q2Mgv!6+wUWj7m&~-ZWew|{C_Hg8V*DR5iMny00!*m z-RM$lWAgLqA`%u)mE&twxIj1SHO{4Jn45`%)EXOgI~9_b_r2I((&AcP`!Ha;TZbpI z)3O$z`Fnm=sFxied4Bw`7~h@_)GkXSdkhKf)Q$nD@j$2?lACSAv?@GvXgIl(e{AiDOn>G zoJ7$h{`>-A-EvCmf9I&5mCkNG3lNgUIS+VS=g%>J?;A{F+;kGfBz}9WEznSkj@>*2 z11BbmC?@*9eAMSx8Mx+mSJ_q5KyT#?vixiR5edZacZDev&=iBx!nN0IX3Zd){L4tS zvEGU)!qWRcSE=MS8abE!+O^tc=Aq>tY(DsMeuWRXL6Fxk40TPSr>?q}0y1zFt%+YD zAQ2?CdBDNYq%^CWv&{8nRyRy0KB1x#;ZP*Jc|Y8e=Xjit&6xHEtJhE$`&9uqowYH? zQQ^+lD4OSvs=vBS(f*m0nB?}DEeBZ)MkE&kNygl$)T$6 z@VgDu&{S`nl^BEg^vg&p=dy`+N~zdgE1BF?0LLu|x(@`Bba}ND!{XOepDYu<->;<) zCj=4 z9jAO?Vu?0<wxfXtiseyiDtoj|fLSS!%5s z;$6#x4f%eyjWIC32_yi~clF|ndDSowySJ#9Z_Iy$e$@RYufQJYt3ikjA^mtVCN*+r z1?6Ggy^@T)TlbgOLI}{$OBP#bcehJxmnWZ!zxe&pz&I{+IBftKWnELmqnRfP|CIxdI^X4LN3Hy; z6-#BUopz*Uf^+2Ifd4fpWYtn)Kv;BEYvEjUs}kKlSM>LZB0s=RSs`g(xu z_`CPBUM{i^ZFUV{zD~vMr8Q%!=cp9E`SR`s1f+~-mYcVp$SZso#*&;8#JEI$>)n{QMK3ubPvVwN(O z*^|U5iU!t0FVW&FX5jY7ch{@$rmrS8ITm>h*~7^gq>wb?C~{3sz+S87bG&3kc?r6A zd~jfcgw1X-tEDLEND`wmebhE;#6qxnmseZ!Rqol#&L-i9h;DBT{wYaLWcgX51r5AsVC*+a&m|@_JOFxXZDoua2=R z9h)(gpwPp~{FSR?Ez26YdfS6{n#pK~pT*xrUq~6nfB>}*?G`!&k~uVKYG{}`Vi%vq1$Dck_1pCu# zC7|AWA|74|Btr@yLq+}Y*Z0i&cWJlSOFW8!8@h$P-z|gYAFVE%jk=&g|BZxR!8Gi7)&n|etS0|zhD)7%HFTspJL*SBN%Oo({pr`e`w;L$mK?~oWJ zV=uvGtdp`(^a_-9IQtV#4T!5SAP~GWtj9CQt4)%f*tNDP=@CU>WWP21d{-pq}Qw!%iDy{xC=JH#K3OMiZ?zNZbj2Q+Ngd$W) z{OX0Rrv!+vuwmYj87V+iv#Tc^)ZHn59x!qjG#0)81dkGJ2tU+4{8g5EQD>HqTBC}l z!`d;Y^{4+a)g)ojSQ61jneNjX_Ur{GlY}qB`P_v~9I^vmZ(V0AuBh}+%rEtDC}J>> z|Hso;M^zOreIG&uM7kU4Zt0Rny1To(8>REmE!`m9CCH(X?(PQZ{{K4ttrY>YV|@3rwjy=5s<_=sHer*} zrCgz5@N?$0{e&xL`SM%`J`&Uu9QXhLf`!9xw<}8Rrjw0C7njn42Y&Bkt72z?YM+^* zcvUg+DnR{+zyPa}kUx9Z_W@^v%fuzV3g4wAIBc~!E-4R+(&YO7?z7$LxzdUrka4-S zUp4`JDA;Re2&7aGbZM^okcK-c5Rbsz9fGi0$!=@aY<4k0Ra6!(B{XP3Pt~d7A^)-b z#uD?R_D$?xCYQH_fJnO3>+l z4yqz4GsLhoih9U6zW%z*=rhtD7Ir}`5kaAw4;+BTp$GY zAPzp60t2prYIy!NzzuKu`48J`k3g&o1RBB%qrrx}L-5((jSxXW(ZFm+5ENPsCG9b$UXDra(hwV3kOf>(X(uxPKrNq9hZZN?dAY0wwF(G0 zl;7=@Tj&$=naBrxgagPm1faeVg#0!NwmJ6B%bVt>%LxVip|ODD$d;+OTXNFkUl>S( z;1jbutjNqWqaMqo^cIZ0?R__{ah>AB54)f&XP5b+$MwuIn4OnFAn%HiBhm+r`N<~U zvL&Wtly}(#6K)L$r(EI0un6g2u#rIrEWG1o(c{D(m_!ngv%0fUQo$f#g&uZT5Hv`B z?pV@a^?nTot>D+Upf7MiWDf-9=(uLO9Q1Pq_D;VL!+vR|5|T1gW*k5g2s3^%aSLv z(6Vu;wM6#n6-~{ke&|IZyf|nTU@nsG=o}KW3!(m?4BQd6y*KZdMnGCLn0vXOz#(En z1Su}qK3=QRLkI5HJc(tmoyX|ngTjtqOO1m-sEiiWbS>Y<9My4LKcXqScL+hCE9!I& zQWqE5QP}(+qB;``>3A7AJ`R$p;W#KN&dz!|WW@ND_QQ+(`6u7MC&*s3YWUTf$fYrF zPC=V-aBd{5C^Xzv`tjvBeeGO9*;PDj_t2o+;pYTStKAvPZk5&Ca%)XiOE0nn-@|R* zKr;%bH`f%0<=mo%U3rVu8?$YNpOMZfBZ@=dw3eRJ8@JE4pFflGn{MIRqJN!!?rrY_ z0ihHO05T2sn*6-_)@x)eEMCr96t<^z%5&G83j#i)y29wfAp+3sMaX9#4_DHyag*K6 zqUmn7{LXl&ZfDJ>XaP4`?wk`t3p9o6mjj{@pWkX{a!gMq1XdhytFhV2bZvw9e(T#5~{YF?*F^ zL4PQ!O@XBz{T~2&6P3V&$ z?m#?uEEKa0l>AAXJWq@YH*sg~ClDlxO#j3m!xCEMkJvS8=uv|WCMEm_<8TaC5Z>ac zo@=lVO^IXVfjhPcq6;JkAFfB4TW+hjz~ZpYR35ecn^fp8Jah{hLXZ?;RF?oOLU0zU zUM=72X>XKrIEF&&uxHTaXmp{_ge%pnP@}LkW6bF)>fVef|K7aY z^wjbmTfMsGKqR?HZQ1rO|9CorZ>WlZePF$BgqT z>XmQ>H1O(=%PTCMC9B^WPQ>gQkr1to+iv4jFqCg9vj)TwGFCPx+?NHHSJn5Cvc>2g zpLWac;-aEnef)#0{DTlc)CR@JXn`FmrtXF{^kBub-da zA1mBg<2miq9IJ)M*5YSu7j2oZhkU4TpCkEt_{oVu8uIL=KJ|^GN?iOaz}Hlsc~6a2x{SQa$X#=G zkaMw|8303zBZE45)bub#e5?kp6}rY0EC?5CMyN(gN71r44m+YAQy;bD`A+Rn6g^3S zxrQfVcId!#ER}1wpJY}5N|=nCP4+}(8f?Cg$Lx1*7($N(lEKSMN&unOBviF>35_tE z^G>#KjPbRN0!KyDqn}nr7;OPV1^tzUEQsofW-}jQr7}ODH%5f?F|?4z#@Lx=!D@^U z`Md2{4D(0a9LlBajGj~j*LB+p!NEvncl2C* z_e`yM3$V|@;r2sor>-ys+Qz+pF)2}2z3vvpB4K128E39+Zczz=8obC~ z0ooNQ;_WVjK?uUt-uGKh5Q$W4Vh2Je)J^8ICRs#4rw96xnurn|*Y0O3t0sAI?Dttd z-kIU=yYGA03OhG)a-H&$8=4|nf6J^QRM^~}GCFGPEiI2n9`X!GoovmU&Qdm6b5Ogh z#w$|Lw9Iddjj%t8j=uaXv>A=IeKBB?9%8ADss3}zTNB;?*BEnR9Jsde@RV^(uU=26 zUm3Ne(j)Yi>nRILFk^*VQ0=PQrhbg>NVq;=*XTWRyj98sktJbjdFyRron4~<<^Vyc zHWFeaMn5N(JkeL|ep&}&duety*jTIq+KQ7r^3&c9+=p2uvA33nwZ(@DAJ6=w z(+YMMlb!cE&o=Z~=)&bW=_zFd>4k0k%jEPUgnDeH(ftni=1NoFgg)7pJJVa{lgc}( zbt%Oct_K(#BL2lX?M)6N>O)tJ;2j{^YM$`~{TL#OeRPYKR_gxDl}+`N%A>GlNC87L zUtS%z#&>(z)#Bn}K&IIKNAy+ zeSAykt8d>z7zGuiSZK>+F)GXlfrnI2;=xW`c*^=LPwwL&V&0)nCB1>AwDaz}P(P2t zl0Ecf_FoB)x?Ri>ZutJgKZ<&-CNCLhK6~qK0slL3%>s`zH7@x;!7VlGzY%3rVRHq} zTNP)H+HP#JS**6?ebSd`<23tP&2Ie^HcHXE!TxVvB+0J1WPSbBHLd|&C8wEwO&sJ; zTa>geS25Fd*LG`zI6ihjgJgf>JdgbO<>l{;ZT<5jSxR?x)q4=*SD;)oK|ZbPp88vR zjm_bsfJ`$MgeGKi`2O6tv(^GnGF~vy&hR}md8U}|uB3fAC22uU<_JiD-6S|%Y|;Xs z)#@AiUmtRsChi(Kz0?L)3#ufSLQ*>ee)@d-Omf$Ii`|~PJiD=~y{$AH?o^gRT}%xO>TGJJGM zC}lYuguZ=b1@vbF@y$f9&%(!c$a~KrwMcek3aTfZqA`>*TjaH?wiXc&ZSyyfIs&w{ zx8vaB6r?+RlGJF)GgdbS)pM6P2Zm_D3DJTU6_H%8);>v)^3hYCMPSdb{6LqtcK6|6YLZ z)?r4eDI=W?0|J5)i(@ggE_(X_FFnx$J|vI>Hs`tk-RHhhcP+wL8FdtC)yw?r9e^Kl z%cfHk_i>bt@N=#6HU;x8iB(70HRcG_lrK+j?1~TJVC!qE1Z*otrBD{oEetKr9~{4; z`WYFCr<mgmZm=#iUBl%}P>Hf8dHm=x!Mj&e_MJ zQ`44T3;dP0dfW$_<6s3KkON^GQ2~gPcLA-(L3mPSmLrX;<9yRpXS)p@GK}zKx!H|c zGH$3A2Do^<^YPlG$7v-a2?>->3jZbUP1%pwL+dhUpj@T~A{Sps`B~86z|lqbOR7N8 z^jeqCw0C5FSajyW(E)dZg{03{b`jLM{+$l8zA>lEPNt@UqSmcHuX6+5-Sc0;g_HQ1 zX(aj9U_O+nU;#=sg5&4IIgU7FukT)U1Hb zDF|hU7|iWkvJOw;$ja2rG|y7m{1~wu1;mcPfe8|Ro^uMj2XePVwL3}!-5wH${Md|s zy2EIU(hN`Eq-_hvW?Z-rLFcO4FLxnoDBQTcl}67`j5&^#5^i4Ac`MlPj`>toeKYoC3kVLoeLwzr&lFn$efOZ^RxGtv%fe`fSu4P?W9JX@NO;nXxp`hgd zbwe{WAv>+Qw%p7a|9zls6ye4KiPZZ{KOO6pbgJ6~>C1=O$km&*q9SBT1M!0iAep8V zEiWJVd3%ionZHTPFENLMRrit3k8V+;GJPjMEjAP&)+tFJ?#?9K8fxkMsKAI3`UITK z+l;D0PSj+ocHERwW2-Nyg~wrOH6+GoOS$HTR?r&kony)sr@ayy+)EG%Fwp1ReuEWB za-Z=bXyCJQE@b}z~-`wjE z`SOgkMnf@Udy5Axoyy(1cs##&7ZVxOhcU}ds`vL>nwl$z6FTUOU|I4kSy{r6x+Opz zKzF1v;7*IE3rfmcAg5d7qC-TO&rdOC4~~4Bzj@Ujhm@tNUkoV} zT~|@nb=MmnBprHM-tqaC;C#K?+nKBtg0nYK;Qry)Qyu^3`;dd5M91@In%&ra7r{y< z6H?iju$zNK`9NMkQvyI(Fd9Up#Yjms4^cy#Hsu_XnQAV1+GD{}}_EGBJVFDqW z3k|-ku^6$pO(A^EBs>l4r>+~^)$Hl-V{ly_J~kJk;4W|)9d@k>`Ct2=CiIQR-a4{K zp?=dY;Tq_dZviwi0*7;abv5<6`)L%fSexn!fuDX+Ba=pQvgSK~$-{1$-;Sma((G(B zpelbk`Q8^=0U@pOj|@n_tMET5=htruXQ&N8poriNAVUSBoI;vc+4*9%`{jEw{ocBl z!s}18$(QrjQ)ZuLY^+#(zhlw3Ax&%$^6BEuCBYlg`w$PI2i3C;qZj;}-|wiUe#>=% z)!&M(?`}fI03bioG?<$PcD#`+qUMnS|Crd3NjZClQk*(kSKh`0|7Z))T^TfOB<~@> z+8H!;3(M6}+ADRsJ>AVNP1c&_2<;8T71ubAqJfQ70sz0G5|N#I4jE+1L|CcO=WEOp zMbRu~kboeMk$VoSG(b#X zbf0O-UHdfvh%|OHw;DLU68ZSJdgzK@2a`D+72ZM6Hsr4pqM6tU6*{lJ&3&Z)v~)!T z5?q{Z`q3ksct2|ES1djL!MIJDsRSOhpcPQJiw&F4$D62S!Ita2GO=~>+L`-&yc@XA zb(g{y7M&fAA!Z}G3IuEC<5P{B#CFGWzp;eMCNYiUqu=}oxOBi`j$w# zDr$Jaz-}b4jXj~D(~-t`hm#>>?!jZ#fW?{t?uX*txTX+745yk+z_a`QW8(ns@gJwe zBx|?%ueopgv!}=EB`CO_SE34<#@jqh$_>_w8Q%>8{yvTjrE5_g*D^mxhCG#{q^22f z+k0+IE)*s`lJ8b@z13OXutgTvwC>+cQn3(KjgdURJcO1HM|V7XHLnw7CK)$3+Uc}A z-xa&9cWBh8S{3WE*7z7!bidJ|Bg%CjW&E1l=4Z0_V*MESi_FAA_wn$!CJF1j^{gxG zDm1nSq^iBj?1zLy@~{0-94fPY!1LWh`%l`2=MV4%0f6nz+3q>`}sa501n1K z7vguw$wg6E2;CDKbKG2GaD3+tk79J**RfC2UCz@Md?a-y=4hGtgR}nZ(x$&|jc>pI#xqHb-cwDR{j=;=@G@cgEJ5gF~iTFZJvZ0LlhQFB; zP^4s>b{jvZtvgJb8(*ImsSA#Kbtz8nJR2moKi&zk8UJ-9JRfCRulMSUb+h5%eR-L9 znaxO(1>BnbC52q78mG%`Rtl2?=^6&}oOu)5>HJT_753fp8S!G1u6sQqGBJCrsX2VW z9%a!RN+mbvhxuG!&l;75`P=J60K3*UO$N57|3%v6zgYeFHQ@QN^DR1yO)rnPIA&>C z+rj(ba-_O5BAMPZ2iPx78op47nJoVv6mf`G;#J%IuFL;!9XLbPHq)jteusU`Pprg+ z@}K@?*`Suv1d51lZV^;rRPM91Sk#LrP~bLC(0OH3)VD9dFn0ce--2|@Wv^sS_ZteN zDWGZi@A7snL3KlOle?Y1(-jey&~tx{i*J{mv3el=pYadHv-hS%?ZOH?%$9Eu(mdEife(9CwnD7LZ`+U*ccOFLT8^B`5F_b?(7DEAmE)|L8+3`m~yM}o^pYsG4)(3~N?3|)*7t@PYwZ?tD zc}$BykM~~n;QS$W{}skHc>mJFSm8xjr{(04P`E}Qz(CtK~Y>Z?o zs6f&opf+P#yP3Gn_GT}`A(MztHt3ceS=uozw%Z7ADi%pZVSJNtxTh?^_FP*uI$kQo z+e-<{Ar$aa_qc-SWzLEJ$^#a7K}rhUPLt@9zZXD=mO4#F%6C_1hZg#i4zH@^WJkj7 z*(&+TYe>nNyFGQ3e7>r-5yMP-`nfkx^OLr!oB0W7bRghF8PuT)#@OUX; zcdQwwN>@Oaz1B z`&B;X-fvQBV-OoUNqQx5dS$V+ufsNTRWOB9bbl>C^lwHSjd3!Gz#<4^QYwLivv9Yb zZo`r&N}Iw~$o!4l+#R$23P%Z*)5ddCl{jVetdhMZspTr+(aSTAu+=9Mk!AG!>Y$PN zVMePIEG*W;5---nsyH;L3bXv;z#jSw3lj}ZEI&!@`DY zsk+wX6cs2;&Ks(7$C}DmhCizxhl+-vgi%7_f_{&B? zXzjS@HpLvNk0KuMnMC06ZBO+*-7&rH^a*5gMQ1uK0;`yew-WQyg`1suCX7FINKC2`%UEZ{hkEH-M68>aSrW>o!-u^)xul${Bo=(Fh&l{UqJ_<4;5Pkb|lsP#tkI%g=JCy#dV$XyKkRd~;9jk1t%_)ehUd z&+O~){4r!Og@52yjmpd~+nz%qbK=K5IA&ra?o z6?_DAq^=APJ4yWsLr1A|Gr32a6F@bN>0{tRiu$+E_ihmoyEGeZWs2R^WBm;Z99|*R zSBwI3w;cB=sf&r%b@cDkG1>l3uT}vZZz4D&sX9BkpymvI_4@ZF`>DI~)X}~;tv>nF zvKcM?Fd+}?-y2C?9|Av0yCAfoBc-9EL#;M*4{mkxb`#UlYg+-YP4{Cer;~M!;uLdjqQ=?-eiI!tYb&Z9ek0}QU8DG_gTq*psk*nw(qP!2 zbF7>%Rq`tPd&orof77MGrdWuei`LZyM{YtSkQ6nemGHASsT=w~{Szq2mpX+5#B~oX zB2JM&BD5%`h7uNw?;!KHiP^uAiidPxkq+_Oy1$JJw$f=Efs4|^Nly%1O$9^T7D3kGQQepK-!$Zqmb0fu( zY3e?HPI^v5Nw1C_$_>$C>lbti=_K##EGQ7dhG#lQTi7}F^P78|!3ei74U>rWhNXn;4y(7~_HlQAT zV*#f5%${Zu@L zw<~jZ$rszw499>H29x5Vkq5(rPW{g&f6vA#$lxXvPL0rp{whd(`t{tK(zD;bj7?N0 zsnGiYojDRj8ZO}M{0;$D>60S^gDY<~6aOEl7u2ZWvjlYqwP|(EY%B2b&J2lvC2xcQ zEHqltmf@w&gwU+t#G*1aC$B*4Hmr2l#jC~Y3wB&szFBKX*gi6`K7iRBMvBMiQyBn= z?nvV}Pm)_;Hp(1l+Pm7#yxQDee*Fg^86@O$h*!(lGcu2@i}jt{Q1-K?sR$8yZSA;Y zbubb!=^AA!V2~0ihR%=mVm9x9ArZ)hL9aRi+PnXdy#G=6*FOmnpE$zaL$Nv+MJuvX zfMChLL~;F9`F{M9@lR1lgD3g9g9AYIw%Mmd)i_u?!?i@-61RS<7|Ax$cZKx?0TP~W zq`7r*^$NDHv(-&89T&3 z#1mWS2UD9KZ3y!KeX+V?S!v(T-ptOw@(XhbJmEHM*#MfZ&SoVyzP_2{MITX>_1?ny zb6-;r;L|`}hNi=NI8KfA{_-o;$8Pz!W4Wy;iHW{(zWvKnrnd)rK!8q^w6tBNtJ~?K z`mxoOy2AL38LlQC&>N{P66+cq(lxsYu84=7>^Ak>cKuZ&f;!7_h-0AP*ww_;PJs0TGs(9fvz~NTP?2PJ-?CBWFE4DW;{jN5^*{IW5lxRuJRvP(ap~e zao3^>;cv?dH}7?PTUikk!Nu^hNrl2<4G*7|Z3Lb&UnZFoYi<`~U17zgmz4JH_;~wn zwI@2)iCSF)1+^x`gj9mU4X=Rh`Yrh=yOyfGZ}tu`)5D%3+5tNY?RNk}50K=v&<^fl zr~XW1gB@H#Dk2!K;Xga)TuM1XfTxBexsn*Q;0J=OcM8+UD6!?)ORF%cKc{k?Gp;%@ zBAkc)z17sNi^6_5o2x6kHCEUB=rNmxtg ze908y#{io512AJ7*?tsPa?j701OcpTF{X8Cs35dCp-#Z4+SVTO&QoUVHF@lmB;9_gm4fOX8y0q+21nWxUJWjm&bKur< zLf3|>R<&FQ*OHqTeh<*y4U}WtmTIXVX{sM_PgVre__ej4POsWQx@Y!cd|L|6!`6N$ z#2V%@l>!CiOslQl`8t9Z4#ZDpv>6nO;?We!?es&U)_0I~C8m z?MC%g&+PZo_w|O)bHGO}u6RE_)2b2hT+@B7+083R>2`204d)UK*=1O5_c_ENi2!qN zf_e59?z^^+5$H8GU~3(Y_a>*!5eWCMyiK++c{?nlZaZ@Lqto@5}54$5d z>_Yih_Z}8fCnSiWC)is&y`YejR0ciPhzI+jLqwt|dSP`VW{({p8~U|^F!-)?8X3F* zCUiztPb_|vj&44`hgCM|#~d1+RconB4e=W!pv|FpANiz4ipl(+r0!$mvbeSijExro zoQ66Rj_2C3`(j2Wn7uy#sIb1T>A7M8Hit{QiVY6~5!RY+*i!qm`+yl;3>B}!QeY6@ zT+M2`*>r`1AVowz-~%{cOqCZx$|9X|c~4~q+$=!E)8e8dqaGV=q*CXCv+}fo^Y*YG z=^#i?zg94LhyX@{dyaM2u@Utf-!NL8l}?s8c4_Z^+BhAfPoYu8m-NxO*#xHni&W}s z>iVfAAhPM~HMMQltKjbjomT@Xvm?pYaxAEp)fHAYl_UagdstlS{uz_z$P5cQ4Nd^R zSR?olPXiC=M|`=Sd)Lg^Q2%+y;Za!?e`5g0l=ZH_D<8a*aRrz1EZVc9q)pYfMiaH@ z_1M#gIylXpRl9Zpk*;1WeUJXumVV-J(l|QUtx?N6C%&T&m-qP0LzDYyyJmJ!B1uxv z04^T#E?y#jHuM>(IhzOch}^6Cg&YM zPi3*+E7F;->Df=LJ?Sw5t`lsr1zwWg6@UZFM%HTmFMkmo&y_Z`S-I2*D)DoR zD6-+nqp~%H85ND20zQpl4To-h9j66AR5sbB&B)<=Yg_2=j~Pi#I$PALv!DiPZeggf z)t8KC=O*PWzBm?XyPTdAm)Dd75=KN-Yl3+i;NXyJdma`c2ZZu*3_wgd4tNVo`_}KL z!=*t;bNkeRn9R%R(=*e0MWyTgeQl<_FHUyg`V0xUIt+t3d)s}1i{Zft(#DD3NybTi z*WXMs$@PCam1{3rdiEm!dQ5OR z@vF_a{-A{fI9AKmr&?bG(BJ?hsikrT1h+p~A9`|#vClIexePk9lm<@P8PRt4Zd4zq zl%xddIIMnB*TVAL=KdKGh7M{)3;#r*32C@;J>TD5{pEHY9pt8aB?m-6JI8i{y|;28 z@wEK1Qc397AyI534Z8UL9b3WFr)vMQX!dl!N{wdg`4buEOQS<-WN;}b?h_$uW)jSo5B* ze3<{hAGhtD>U0%)A7cL#la!&n+?&hya~)p>XlP7Qn?={1ltSvVaIN~O3d z5TQY+6w;Fo(MIhAlF$Gf#(Ei1P&}IE*JlSkVS-C#qNQF zPNCHA$j_@Y|63y6^BgfkLRVq7h{B2KjWRlR}-Yj*&Y1~Ke6~dqNZ1=e`T%HUsc{Jzz znLgD`G&0s$O`P~JRS;EyO|nlODxAd!jaJ)^K?z8-SvG*96oRes&+yg_BceNlO5x?J zZpdtkH2pQ_7&+94Ei{?+WQf{G(<@hd?eg-vEYTQufDRKfk^w71Gix1~*oY~F9ilrv zsDR&Rr9V=($8!^bO1;bf%J=bKGi`x$vT0DiuK&Ni05PB+=HX@OZ9u0geW)E0{EM~4 zCdtjF>S;SWTm2F22f7=ZQZNC--kRs5y2b5n9d*h%6;R#`sB(`2~;ehw}-;#5H6VDs*&&-I~ zI3BOU-2kwXHeydw)x0Mie&22`X%U?8@j=A+ByYRKI%4rjY{oLhw<$)f59;FiIb=?< z;GVPn+s|G?3v+GdE1L)i%z7El$Kh#AMON}TM)EmOpd16eyQ4=q1*sO-z|GhM)`wb| zM6fX}A!x}@SGwZuaJNy%nz!Aq9B=EdZeMmmYPkq&nc&P}ff)T7t7f)kQH> z5i<;>vVPTK3b0d&!+>I{9Sisv!qG!TIwZ^$6_xO`lL}dwd0=#_*k|-a)Y-)C3AQ%r4M3JInFoRL$cFjp_4ud8jGIxS{! zv-QIWaOs0K`fTd21)eU_l4kl{Pr-bDsXAK&0_x*>YH9J>_AMw&@ME#GD2~$?y#_)U zUrTw@jf~$|`P|fFgLpFvhvGe(v|eYf`}r%Ldr9arSI~+oo(FZ- z{>m(QATp`jtxC=8yI4g=(vp&3H&8w#6ZJCRE(xwJT30O?z&F|N_yDu1kD)K& zKQ`g9yV}k%?B0ns;|cQn<5$)6q@-XfPo<*^Cm(#jiJJ0Nt@9XSGet#!39%=}PP8|b zhK4~XKk1$4`s~+G!O1Huu|=M!iXsuoHXSO zv(6wb8L1w)Bl$V+uTW-Y|CK;5)_)E{fBMCJ%vGDi+S`hO#b|p|cd$rSH;w91P@m+x z4*i(kKkK!m@;LuhcJdv3jf^}BJj`SDN5Ggta$_@CTn{^#z44xzT*`JRfcY%+-DKep zrV&nDEY-iz8$b0isWQ_UtFAyzF#_nyTuZsnqj$!rTxZ zZ)A_Hp#6=JWP9A#IrajT8Eh;+t!g8+)~kZ-D(0#(h0iR_ap6z^u&pk0ByM{5B@4Ip zr)v!W7RK@LF)L(wtuJ|))O@!8-~zWkd|VT)@<)UqZYPtY&jLO?4LcOS?rtK`+WMTa zqGEGgbRL4QPnCs70S@T1Ixrdz4?>X-&rPeYYI@J5(XP{(pvfs9D91-HS(Adc{iZ@F zFmhme(}%Ie$?z~MsFTe;s=SaSy9&@xdPh6oIL7Gfr|TI1%BfXBb~QMkaT=uO!C>^TM+2P?pjY#0sjB8*QJe7bnSTeRo6fFoB97y zebj|(c(F~DzgZcisbK;E*1%wHW)oNa82;4muej%Ac`+8-){zJmxQ9))Qb~l7*VMpu zP|zWswp<>Y>w);nF$2y#Hc>~> zz{_Z)wnsQgV!rgu(C`v8h=oO+l}QZ%x*$(~wN;O&Wxi+KeED0zXwN61t%aB?GezscMp&+om7RdNp~fCTGMlke#7kpL%qsP>rNwdFdp>|({(BoZHln3^ z&Dh7NATJFhAL8W7HT7etK-ek<>4{2OkFJjDyg4-JK)@v4Qh+jE`okWNIMFVFnYmF2 zu-ysQlYop>8|Vkud4|3F6i23%ef%h%XX-L!G5F|pNYMHxZgqd6{O=0@sxkb3PsP?Z zG0$3!6r%$Aj>;L<&uTyjZk|o5e-uUMPBA$=QIJH#b;38BKDW2a$tcU@`(vp#jSsLb zz7?M`F!2QVdk}~OnRxHPP~I6mcO0JU>uYsI#V(-?iTv{9Q7Lf-IW}qFvY0c4N%qOM zQ!#-M1Iu?S)Z`1(N41rVitaPn7$8rjCH-Rnp9+%e;Pa*8>}*ut_OpsVS{{!CoG74cGvkm zWVh!I5^6C1^UV8DlyY5eX0iW{T{XAgTRAX40sOe&jid+tU(vGF>U_?|$vy1apN?r) z;JAPOq_s|Ki;%CnbOh|llP=c@gJ{lNPhh9m<65`6eM=TBs~n1&`UOKorvJR1)c=c{ zQgjpPyMpYzdFC!h(3_77#`oM$($jk};Zx$KdTBor5Wq7#$dX)~NDtT7|LkjS4AR7E zP!m!}qZ~uPPz7~g|F9Gxgw)%z#z!A80Xu7r6<}-wJ`T3AlMd+VSnYG*Alg;C!vtoK z0TX0azUr}E^E=$355IyPjamcrZ2`jQ#smI8?h;^p>I3Y5!n~jPd(=0;6aN~!bz-8d z3^cQof0t32{W~h;n5iWxD@U42DRE@E|R%+RIe=*Ql*PgbAy)w`}CzSUy#N82pv- zjCq2u>9lyY3n0o+AL5C8^R|Eou>|@^=$sSVQL>!WuiBBETho_2!Sn=wnbzR?$eoSg zgrvSAz@jw)eB*#e`*qV$^4|~+RsepE5$_z}8!ZI<^1#ot=5G}hj1miiV)MgF>&LZo zx~3UVZV_~fvPnFqdx*Vcpb%GT?7wbNtQ&CmMLA3mWR^RwO zXZT()aN~gq-@gd^Ut0PADmEyXN)_o6@R3i_S`)%Z2hZ-xgA|9ut8=JFWQc$yCAkyN_Ydgs|J2zOGAN)O9-Ga%Yie{1HdR(0&S_2J2*Sg{3=N{D z0Om7r)O-ZHn2y`Xun9wC+4aW>gaMQJKM)eZV36&aR6HL_4q*7Lwbo7ooX;<4*QOIl89kNOc;beDa^p=NH0X8F zZw4#KA@UBSostz_tq05mFzu0{?q`UQOQ7JhwsjW>la5pUH}!~71O7?8jzvJ1*~BhHM20sY4Te?~wszk#U7wZO)yGQS$gHo_3#XWy1WsX^#&TXFM~B8Q{` z7Niu6tpF%*fIS4c@m}Q`Dab@YR$hvW$m5UIp#&BqwD&F494E9hx@nkaCWS&Nx*MhZs1f_r01(>qWg)n)0zNQ81j zTXuhK@8$4_^OGaoj(9}g1$PXf4IzDZ3En}tq6-Cq5Ppm>PZbsds+D_co)#idN;o2# zJwLe%L88D}1EL*b7^IOP(6Y4vFzKTib8_m1cgI{=>GG|^D2R%s09;pUDUt*@#VsX0 z5dv|FN^i#$TVg2%$e><~-Uz~?#0u^A5P-EVroe_|!t_dgFOSze>^B%8Rcy8PC;I5= z_mEo7yS)$j*T7(gj!woCU)DMk0E9{OGk+sY#pEX2Rq~?bRO-uD1G9015jE8g&$bFW z0bwpV2_{Mm9gJMFJ>R&U)+8xMWF}w?_?4g?G!1F8a40R}g_zYPQNs;#jUwpGCiKHQ zXuf*^?-2N)f+#?_5hLo0=aw@>7Y@e&x{(li!k0rSw1o>XH|AU#5%8~$9e78#SVuAL z5ESxQkx*&kisFLIGt__u?EA$J6x?u&=B@um5I-9fE)gTXsB6q;99y5-G3sS<^qKDB z+?w$JFT9S=2xe?hsHL7V{eWb{WOV}*NZx~^)(+U*AU0;wynAC_c#}qxn7{Rlza7W5 z?Cs!LqASd?14IHMh{V=`w)vgl`t)Z`73z{pRhX;clbHiUktB-1>TPL4mErJTo@PcJ zbx&EyLd|F4^}jKo0?%(fb_QssVi-g>=TRDUg=VJw3R5VZkYM7!ba=Kf#uu7M5w`n> zKRl9|gFNd?c|K*OZfVrzv|5z{<|qc9KjpZ|mE#;Et0J$<#!n;1_ys2Ayus~9ozwN# z)9g0@%+TpX1Lk!3N7+6}kKK*pB~x&(U<31e>~(IpAPZ$hpc!8$InZ<-T-!kghK<|+ zW8hCxsAxH*2?A4KQ@>_{71>N1X`JE3=TR_h%@lMSI<*f1!)RS<#G5=(X zN9FFDaT_pi&d69hzaVOzLWo{Nn4Mo%``+QL{F8MO-c~=pq@!)5`5Gxks0c9EbMV7Y zEBytU1zCx6r@*LJRj970q~Nrc9FD`^yGti6aOID_(`17NJia zO|`5e3@DDjJbs^^3ZBhCNKtV}*4HyK|I~Atgkumvb**4~+No?WIa~b5^oPXXA7I{O z@%Ndv!i5A+u@sWZ#Dcn;C!c1!ZXF`+g2GG9hIT!6%hHLR)y3ioq0S8J-+=kQkrBep zX?;dRnk@s3Lbr#))F!y_2ZP=;E4qvbc{^z>u7ncjic-St_>gzZ_zGMV!ALP~Nx6KYUH}0Jc?Y(z^7vuw? zTp3&n6^nelZI_g^jiFS>@DEb*;F}>`I3Y5iu(+lwY7-FCcD#mk~ zZ-MW`?~5Az99yhE1~PmQ8)>W-7;n*gU|yf^B16bVTl=B9=i9 zRXTpg%3P&5G9~fJL{T@c0Nj_|HfCDpH<8H&o?=0CQ_^b$5W$+fOCYKOOd=I*DuV)W zFMfs16bfH#)WvIv^h7`U$2*AU-EOb3d&GPGKyPmtxC7oOjKoX^h3w<1lRVeOuoSqL zJuV#a;8Ldc2y<`_o&CVux;E47s$WthIE9!h{+sr!Y;o3NU2);ITNZltU->7$`? ziruVzs&mhh3vA}G+s)1RoV#Jjy zp1h3S=Ip8EJrjCYUXLU%vNKWfSbS~LD*XQ-X?(L7cY{xb-fB8P%0c{c!EdRJHd|n> zi~aim=|>;gvl$|fpbwHScv)pY!8re7I99#XwEN3tz@g=O07pNlr`#n{#b~J5(C=S3 zi4`(2+P40v`{+`;n3rb>AB&nt)uFK%3=lCId4Srr4AQ6aCPB)BvT-H}H*j&m;opp=hen(|76)E#*E)ewf_ zJjJo?^jU_p{X1t3KFp@7_h}bOvCiOcf_jqcQi(O(%OU^x^R!ze=KP4vv%c@|#J{?Q zXbXM;b_+?3hK)ZQFlw;l&Ocq_f$wTyr35v%WcGMp^TMEApc+D14w`;~uBg3KriWoU zr6|*)_68h8D&WafWASHF02Dd^5UAl-FRTxKf*h!V4WMvB_TabbzZUbGnL)nEc?`RHcw^JC-y%~lIC(Aouqc!lT0Q*8x zC{N20`jujCnDF*Jko9d|aoqsxQ|2;y%r|RqKrK&qSZl#(*&&X|*MKVxKJ1%OlcX-G z9OePoVqY++y9kfKn5CMMoxc5eZVb1B=?aBvjD-D}6M#t4<0?qg^VrMiAD`x%k2~l~ z@8N#0?$)#>n@$qHMtuMLlRgq69RByn$5H33iwFw=p~cC^;G^!u=~J9y&a3%oCbgFU?YF;qQ=S2vC1}; zTlbazPt&b)4bSB*ZL#10M6_wmxJsHgWiD@=@Rlh>e;v`vF7XP~7&1iJNuX>l(@<)V z7hC23SykGpH$#LRz`%FgE(aZ{XJAL~%xGv^xI2XNki(WLwkh5r9A+%#m9O#j->Jqj zQn>fjSPZewPNFf#;#3$MAHpr$!B6wf&TMI;hK^vrP>A}Qr!P7|{qd*aS;PbBp(rQO zEzjrbc+?;Yi&_;6rL5XzALhrodK8moqASiT$GEf@X?dy5esH3mytB)6Hjau|q%6-R zea^^llK7v%r|Jq#{4-bL%A_ClkcH3fhgWTb_$AJ6{-?1S+Bj=H*^I4HEPrUjCT^__ zj7wiYnwT$FHzT=7oycN;l#I6TdhYZSZ?`kKkY6dGo<>?}Igcw1rMO1x$sz=>Qr_!s z+*xX*PtM+0g%~-WdG=8>50+DEMTGqgn(Xs)$=OJMAUz?5SRrqx!3tav?kbP>i?;WQ zH;FWH7Uu~X93eLAN^vF_0>o=GTnKV_E!FxJ|3}9m6^|CyTIJdGdi||#K}1N+U9FIg(h!*Bu9Ve`w>MCWe%JpPS02*1~UmeKL)5*8HN@1=YDY0 z>t!OqO**oCaP?RfW*UXO!m5=U;41h-2tjq}oVo1)?pPd=BLW-)O;eVEU)s|@B4|BD ztG>J=R22Bud}p`Sx& zD#+s#j7-_l7Z8?S6;?Q4HEfh&?BQ*;kBxnK=j|gqv=^dxUc^w1PY-vUjP^=(i3oQES& zG{|I($}HEL*rDy@=?SG4O|6-5IisWx-UcXx3Y0>O%XK&T8p+gkf~UQq5BPGdXn8-1 z8LlTnXd^n>7~LN3Ix}{?ka7A*_`NURscP8-OUN@5Sr61RIHBjYoL|Sf$$I=yZ=?*O zXI|X6AWom0 zlS=U|x=_`R)*YSDUP8wAu=yLTU^EVYc)fM%uQEn`V1wK^>6gHi*v zs2X;kx%F{xS$jCvRfnN}(@rWtjp|^B2BlEw^LE>+t3KW4>aR!@Q}mfy z*2tCXLluT62ovytnadFD1IKFXkGYKt_^En^3D1ERi7o=S`U3PF2pZqQYZQ?8E$ky>;tcCJ(+rc~YqA?OfQ|Tqr zb!qq-E6ha8-$>hF9ud%jB*$$M#>&m3&ZI-{hn&r94hlgbF^ozSO zC;wFO#E~%I@2qPaWlhfObdu9&xmya9Yz5MMbO(Dwh>t>@HuTg~r@|&Q@ zWZ*=rX_2;Q=|(+~ZrFsN|ECh-OMmesN=N|BN$QPcTF1sAdU!G6Tsj@E@WOQ67$JPX zJW_9ZFP%j?p60A_{9DD8V^uS(&GL1p+QXH57k{af=T1RtGcQ?eFce3|5n{d|nyaWl z*jQ9~gk|Ywo95N_eZ1Yoe6!@g39K*SFDe~gNOyis zL6W+?!}Vubb;`G#C}jWXAC1TtKSFBSWSa7s`uqN)4)^BCx6iS5skfah9%1RJ4w{;# z>?N3HSI^?rxGMTN%7|sMmW>)L9?Xu9Dy?G+i06Gqp~vp;(*I=!1X0gkwN=eNUS%g! zPc7Hk{NY2A#E%xaxBGV3hQZ^fa)fav2AhtI7{(;c^u$JQ8reW32?l?kk9Oa-HC=*b z-?CH2=n=*$^I?^bSzW>L5B{b^SGlS)kj=e!F<4anTgjXX#$=d@#nb<6VmuBjt`ljm zIMMKYRM69i`oThG#!>cFs;!dv@1JeaSUbL*!eww=P2RfJ%Q+ShVt#W?vQTd7x-S#q zQS>uPUdy_u(O+q;VK-EY^Us9M90owOL7Atj6OjHecvK$B(^^~T;z$$nQy!PZ%KI`A zL%y!vq2Ye{p_X)9w`LtgH^SZu*;1nbj}h)Kyq7xz3@!8zCpCjnq1?i^dU|Y(QF7Bu z$$uw^vhq?5EH5Rm8!HbPJZ)uH^3xq2eh7Ak3lJkr8Z6Xqz7ePqN&{&^+P_k0dhEeZ zA{soKSFHWx>S$dG1%uW7p7Nz_&HELO&d7A@2ds~(90vn-AwDy#-ZlnaI-0Nm+VAs7 zMfRawCG0sk^h$~s7yHW3{BklvI1z(0J`Pj}7f)}`pzuEofVRC23 zlwe+8n0|ta(-if3>3>=PchLV5fIOQTCzl+te)qSLC-V6{mzSmTKpQx3^*-t7^u>p? z4*#pQz_F{kA(tOK)3=Y;T3ex!C<;RyzSYem_?r;Jj{J070hZ}HXf=Hn&37K0 z$dKPvrYLuRNg0xIwwKi%vr6Xb5_Ep@ zginw#HJyLpKqF|yi|m#)m*Ri?_mdao59o1NCQ^4Dj8HZx1o^ub^8wb8We}%os4<9y z9b>0q@;B{?Y-t}IzQd2n8s;{PPi41(Icp@%!B+D;>e(}c>Iy5dTE#5J$I+x2n?CAd z;`w#8Lq&XxyE$lc2w7$Y7b6sM?VP>eb0Hr@&*xXQGt2#QF5xqju{k7WY-?(zHiniB z*5QcW1^Gbsr@^*?YqA?g0LDSZj{bzKEH6}FKOi`I!o{C|a&__2@$BEw*~-q=o&IiW zQ~~QuoXTD5uBt_8^nX-(I#9%b{QZOFMnkxu8wroV#>fEaXM2m}P7@Ny+G)^yZWt*t zvmUE=vJyyI9}Be7u1&OBeI&L*`_=K!5*eN1DU{pR(Lb5I!}W}j5GB+1%q?d|gfOPX zt@f;?(ECr2CF_f}xeo-)vJhfBfc^rY?TkomX)e#Q6+Cfj9$dgX@wt`XSD$WLN0p?) zco+x1l%(lK8v76BUj6=ycM(KcBOwp>u9oQ(rR&&|zuk(r&ikT*=L(v!-EYh<%u!fYyv}SHcUqu+drikVLKz#8& zg97fW)qBx3BL&0&HPFk5!ciqmpqVx>Mp_-~2LrsakzOIs@-HuQ_JEiEwx*@DPOij( zCf-OTMQE@Nwg7L%bITshFUISL79;w>}$>^`m7rf4bn#;tl5`Ct%ZXt9xgWN1NVlA@#3%HoQ>pSC86DMU9c#$ z*TQ#43okO#&gGfhF7ix{;3Lv;cCtFzp+@-g6iF}k&TyG$ppV(ghUq~?i_u50!0{h* zXsE~dkRTXh5D06KZw+D}TY6fBCDtTjmape0w}e+?qi2up@`Vqi@TWFE+1N_^;nUwv zcj#)sIEBXE{Z2tt+KQll*#s9bLva-uNoB2R?3-k7pL>%2aD>XLJ(U2R-`eM4lxBWR zx#xT8gEH_VF~D(p=Vu?e!*x6+83xlauA(-YSnoZN>X&e@mXcVi{xe?ieAIm$3B-hG z8XUGdNQ^vx?i@*C9n$?0lj})yO_*u5f$m?X3hJzXrPdp+Xd8m}61c1e3CWr|A>Hhm zLFXY}yMN*DpxRBm@-FICLVe|ICDM=_$KkJe-h#GXI=uSN3yC$taAUsmSDHbQ+%igX zAQV{h`@Q9Pn{r`H-QVU`*|}9cF6ezI7!&w|5o3hj(y8|R%k=ik#wym_B#{cuph?}U zjg%rMXmo6HL$DzF9t#X>Eo0-PkB^3vUpc?&i{kJ?0=DQa-2G+4MApv-e7}&rP2)#` z;`S-3-B1c;XqDY6p^vo9#hPVBhH5|YGSJ}Rdhj5zp;r)@jj=P;%^>06&R8%kv<4{TYz;((M0f zE-HotYuTJ0B-Q*BNKwoX(p^bn)$ClrTs6KM*?Q|zQ)cr(SoDg#^sRmz=8w-rLhO+5 zr6nYh@4K);#fFucP8jxVHQDR&E#DRhu-Ed!5PF;Et0xj$J3e}xfr^9U@w}iGtqXZ4 z6^0NnQv0YUA1LZh6KE3ee9oVAF6jyR#Uw2x3m-5^zVD9f6^e(!!UsTnW|}DQ6{kU*@1jb+apA&#HOH z4nIhEv1ctcev~`an^Zv~SzN_o6w>8hn^^l`#(LV*jsf2%4n39f6bQzp#_3~2 z=bpKKtf@mw?1qErC#-krd2k`s&7w4^_oDWQ^NBev7U1!5f%O5ai+{M5LZL9k1+uXf zxxU8{pjkgE3SjD==X8aJTn_C&+j3WixpN_bax~WcDZd>E^JkWRxGfW<8AV7YYQkV! zm-1!)uG~|_rlv0wqiCQwkPM8AMeg!MajWwJhLdG%YGr!bTgv;2q7Ja~mG-trmpbtg z6Kvh%AystGx<6TH@U*lIpg|-sr*A$d2^1AETKNX3^Kq;;eGk`G=AzpqY?mhMyuU7$h&x6`AbLDyq~xd`(0UY=mo<6 z9Wm6Pj4H|uylq5{xPLirrWARwyF%950<3_IPPo44B(k+4_**V2>nN!yk*Nk*{e6!^ zZ&48|q4|Zxb*y_`?KK}w^z*!_7wbIJH|`mJh3|ve*@wenpH}Nzn%)@Q+VKF;Aw0Lyf2~po^IPgk#}6yn|Pg(6Epnnf^-Yy`26qh zn;0D=e0GXGC}=-{E^BLefqHL;Z-*6IwFTbVYnV8CnEVa;SwtC{M*Ceb@~zg8Z`JJd z`VK+$S?lV{-|k!>yIF$IZ#hK>H+hB0Zou2^yUG3vqjqo}Dw-gU7SqyYq~gZH@ARY4 zFi!vdJQSp5|1z^E8dl7dJPXO9(yRJUc~S$Ga^!|NsKdKE$>lZ&yt+73MY(?r1Ov}B zatclaBZFQQ3XS}HIOG%}?o*9$fspSqD!%b_gF6sVg^UY$K*#BbgKeagdT?BZzyRCqTT%$MP~- ze2HaN88aj!+Ea8vZQtL~>~P%utA|vYU)3Aj=MWx6$MTX>+p^=k==!eXb3-{)r_R!6 zW2F&f&kp7|U7boLp`<&JhMEyg9TiJE=%4x6@o=ZmjnrU#<`R)lzvk|BYm8mfBp(~6 z2n829DWn~84yZxg3TI>_eEMs1{Ezq#qL9XN=SBvnoR!?D)la5WLZThuLI<%{TE^yW zPR@00c|!LqbxCy)jjd<@R2QS9mViQMf($dT>FL0x(w&Ff2^HdWU$=D>wKz!LK1J6J zMKW`Ho3v0o=x#iCYBbju_h5{v2@oNqTl)patAo0Vp5Y$oVeYiwpGKJMY!Zs2C6zmr zyGYHdd%?XM!A2;TY1}9vc{q$$RVd*g4nvDxnfrxzkxf_3@}|0fw%!g-K|lC(L(fjW zt;Pne6UDr6m9x!7(h*>kCF&SDd-oVwmPO(66B8ctvaOz9dx+NvaTF&eUUJp065dt} zFBAO+?;FBDg%}e(Hs$Bo(}Buro`%QG|-Pn)MDsu=|@e}vK zQe*K_)%G1H6n2?_7p+h^W6gXyTEk&G+#saGJr5)04_3AxV4yeEeA(ydBV%nqzSU;K zs<@QVex3FOw>ZmivwzpvtE+d+{iS(fi*5DGlpwz>U?Q%X0+ zlge5X81IhG#Cohj{@zONe8VLvLB0(4nxBnQ$U_tC>c0GF^tdV+ z&vSbkQsh58I$TTd%>1m8omLt~J;K0-`J;sFvF>tMR*5KaGdZ!x$xFty`pEp8)X`jX+zU66`V%uGH0Vd&bNs6K6UwwM$<9m`Z^f+(YEx ze?M|1_A^K3+xXtO^H9RsHWne5HjKKgbu3chXsJQi$>qNMOo7dIlXLxwy{s^9A^v4t*_=0ZA%x3l%9e;+sXn#oI<>gPfwa5=;Ai>=@cO}_c7H`0xCr~sq5 z?A2o;QsCDPSc8P$pBL@)ZifySxw-Ll>uNWk*8-xb_r{)63{!8;MUNu$@QX;(Cp-H~ zJ(ucR8iE3;gA?;3iefI&1mhO*c+Ju_S*U?V+$58qvy1lLl4y|}ZX_I# z8MbiUw=<4K?xz#AC`0~AUIV!0;lLvp97Od~WBRF$VyAz-on4=QVNXTs zQ3jhvA1Dg!lc6p25)DUER?l4tDPOILi>}B6=_Y+i>J4&QN7hZr+I%+ALNE#B4S{i6 zDX*1w)??@EZDzN&LV-o^o0iO5M6hkcJDRh#96lx6lxWn2j``=GA6bE2MTj>AdI*v0YEAwQ zhwn%rd078)c@sS1f|5G(!JA2MRA0!Z_!|LhV^D^kEcp$SLIOPdYXV$wK7cT{k7jC}MOQ$4GZEU=zJUyJ_hlP;EhVBPE>*(3^; zycV-y>I^?U*qwpUxif#qjS6oIqX@$ZG$|Z4Y!Moae4zj!P=pM@HuZ!K;w{xcK;d}0 z=MNAgL7?y&f0f3WQ+YaNain3J=Mr!^^jfusVe>f$Fq0k#J$ycD9|r0S z$URIO9m9YIX?tw0+7S8EyL2f7vH$AgB7 zfV-{ibPoA)-E9HBwfG3!f(!MPKL4){d_%~M*{=Ud`keV+qeTh!^qx{k<)KEsFGl0b zU*nD0$mBC9HwdNvR{EFCU(Y3qR2(hMcYIN}tl_XG!sOs(6dH&A!tyt#^O{9mo-01F z8iV;sldEO1BlAFza+pymC+)OvPe3Jn@XWz_6_GeAe z)7!0UvP>ZKX;V8P8M7V~{*?~4EH*-FRO|bGq~KO1q^;vsH$_id zwI;C(xJ7bOR;2cCKSjI-D(s_|8EspdYq!8vEF?8Sl5ydTb-bnMQSaZ>EL7Elzlkg| zBedPlT=}?ox<}Ql__0k^`i5KGDeWb~+$v6!z14gOQ6;r#X_lAu$IHCjm*~NARAuH0 ziJkJO&Xj|Tosu+!VQ9>O8=J@CXdmg%@Pz9weroNix4)H|LHwJlrHAvq-We0&I0^Z2>g{LFFZ8{g{3gE$NJ9(`+@j^Ce-k(c zCDt%*>-*Ov({3wHYEtnGYwFQ_cB5 z=T4YnuU>t~o%(}uB3~=H82c0Qe+9XpI&XFN{*l}f@7rI7YX+oH!yYT5v~Hr-aY;qc z?wD*#3Rkl!5cHX59qyaml~Q1R_Kc^b|A9G|jSh#G7OMtq>s&L}H{ci^{Y~XIB7f}& zET9n0XROfKPkeA)-v{QK0=a1*(l}EMlz~(suCM!d>5s=p{0^O;cxtcwU8WWlDzJI} zX6t-(5(Gr!PTSI1bZaA`ct9Uh1oW~tWQgVOskH&j{A9(&*@|!IRyaox;mOk;^F3#&CGqo z#J!;@)%!xTpY{?jbq6nHl!>he5ejc8y+pj7bnMaElItZFeS9q?s=%~Je9v0pkS5R% zm_c+IPzpoBPGEGy#|~(1_1`Y~oO$SSaEPVHP+=-xr}|d0L>0*YS0y@!l$HGZ$H2n! zp`_`Rr>FuIpua`hzCAqV2n=lPxfl5tU>>*DV4&1jpu3<=OZK;r9CYo=7JC^b-D8+cnyi!bpzg<3S>mB9OZeG5ki7bTX3;QJ(P zZEas+0|f;)DXea% zdjIjYV#-sI4d1KHVeBY0z=DC#11ak1;)%p3^{p)R2U27l4GoQ}pD5&bczANDZ)xc0 zih*V|Y4dy-e1P^_RDt$?BqU!~c%G)Js;ahjli%It&tMc*?H`s0b5(DExK6-FKsRrW zuOd{P9^X=p7Sz+u{Eb5=F=Xi;uq(phvu^^}YDHxc}iJ=_=4m z`}^HDevCpfqkHk6`tBqCtH-0O8kVLvZQ&c@pj$sAkDi;8lQ(meS*I?Fgzt2(tdfk~ z7*RsG{kIaK&~B1WB%aXTCl@cY}#c{`V(+yOYJM z?u&L_US58BCT02G3YX_eR?%;j2QdHDqUf)oD%3b&M|ho$@Mx54I-T^q8cSghHcEMn zc`iC?`rn)8v~f{;i`??_`@)&?>oWa`^kIUSJ|3!ELtcUdKaU8bDedKO#2hXnw7jz+ zN+Pt-`^OazItH119_l(z-9y-1=;swKZ-i8~I;NM=$bNpBNzdt^nLktJ*4;e91Xu5< zzW(6nUwcx{+PEk4IBquKt>8(;)ww6*8FOkC2~x>7(vJp2?^+lBGo*VM z0}5U0>V`Y_6iwac%a{MclC#Qx%h7>)&q4Z|P{QXdZCgM4yzkXnTWh={f7*sSd^}l6 zKNh|+J#LQ8avp7c^5Ux6DlN&Uf$lxL$TFyVD`fG`*X2TED9iu%(TWE-ukGf>@yCog z=d&A*mLp;6Su($~_TWg__4LJ=3h(n+p7XY5Dysd$%8zokjd!Jydu5E?{-2t&J{m1W z&7X_}H+w9(O-r;MSBw)2Yt~a$ZGBm+U|p^&ypn1-IgZWn8Q(e?DN5TT-pQW4JA(Y( zT1o33**R+7*dhOL*>;D|^R%^2Y#;7$D|pn_7S)XOcRM~743=weJr+KWcxpbXxZ6mF z(O+@}#BwLo(rSu$AAXM2*PFOIir>k2O76>&x81dYR95O*xD}k23^{~sG$;z+nBJUj zJ%9Oz_i18iGNNzN((~V0aPED9`1A0n3u9Y+YikQj=v>LjXsyNT>@@UMO?eW<9Y=Dt z-SS@X(XFbnZ2eO$_U4b^|HNYOw-(KsZ|aP?kR>e|I6dO#&5w^A{{z4zfEcjn+_-%$ zhWm_KQ`g}e1LXRJ%l=b!7Z0D;jXD=k#(T9eIGdQg#KB3`C#*mau zTk}Qic6n#?pXjRF5?iX;eZBmsytj9(85bYYQ58Pl#D^enQ`VAwe7H#2(!U$lQ3Z1H zd4y;JWB@8KU3xT#`Icri*8LMVRZ!F$`}f84zVi?D3TfDm@xkRm!NYj!2^}08YhRCG zx}Dnk{WBN@FWgv7vSmXybW(m-@J?bO=v9k{Bt3b@GKhS;{}+PQcq~RqjOJJk{yv71 zf7ERA^%4{aH%jSROX0Ga*&K*R!5}J_-M`bWA>NIS4ACy$+|zm{H9x?C7H*>IeD0r> z(Wyi*sE~yrO_B~Pdm2hmLpPkyx@30y=n-bX*6rIjrIyqw@Ln*+h+e>}8h`~0@or!5 z@9&q&hlSm4Zucuaj+RnWGN<-0XlQ6mdZPwLMryUc{b{bgih!vDWs(`eypo*fecvre zLgF8>Z$501_tMZ=?Y>j<+-z==nH_jTcFj~}^=GlTpn!M|o38D9g_DaOxpj2b$$wsP zQyhbwXLkTgc>hF$Kfgq0X#7$z%^s<;IJ5oxS5w{NW)G%042WXOlT|kS_u>K?`y{!{ zFJF>Z?~WoqsZdv==zrAtBRg;~Rld|c(zy;377FF;a<{qJ$9)QyplTI)@9drIZ^wax zcg_F_`lDZR(|bpTc2#KjW8}+%83#>mWo4dy#qFft^NL+Dv)4633{I+r)0u{l=asD| z8P8dd9v+e7X`FDoPTG*))#&LX*RZx3pC{~s<9T??{i&_}OS3xju>ozo)k=$3jm6mL zz`*#fD=^`Dh_`p2J$DW%wp^bLCt(F#AqH35Rb3tLL)Ax&Z@A$m1duF8b{{?HM1roL z4u$)oMdHJ&S%$+_rqdcQ|H3@s)gr=u8sk{Aj`q@;u&>9xHyZ@dGw6Rm3HI3Gl5V_p zGqcO}NuE77uq-BQ4Z80;h%#bG>%Nkvr{(vn!l+%rs;kSQv><^H;KT&P@sMZ)+msG)0qva~R?&-QAJ>fjpX+sTN}%=|XF8*}f0$yWzMUsmtoE(>`n zUP9IVuys}neqBt`R?Dw6P}#G*^TFQjNlJkdjX1F9CNRn=WSFpAa}G=?&!G|EK<52G z&Yv+n*cwF$K^OSa_g3qWb|3BAGmjv+KT$`8=m-Mlv!)e>eQO z-V-@FIf?(Q$0{v3A+f+ls=%G)js`9)kCSSZ&HwxEsmIl9V}9SC#n__l-7#|8m*Qw< zbg|~|lY~cpX>sYp-o+K9-h==R6{~0K6fvLrg!(e*GL)89=5Q{l>|T8(Sx{=RP3(dL z8;4Lp0WQAueljDlNOom@Cld7mf2GQ=t=`Y6YNVh*8=)%G^7m%yXNoYVjoy)L5fL7q zE7zxr`wO7-H~Mn3ZUpxuCi;I`fEh5QB?okN+zm^p|D3Ho{e6}Y5km8sgE|H-j@Mj$ zvRx9LH|7g3GK4xNlZ6fqA;*yff_ne!8zwd8|I(RJM?}%#Oo6Mb_9s7YZ*TuTXXpOO zec+R>`*Y~`kFR)KSgI=1*&a{wG#a*XSanL)p4v6-Hu0M+N9xRllv6$J7AdEs%H?YTyrhdwGcTdEh+~#2Wp2DQ;1RWeHD*iDefLp+T%&9a)K zeft+X&8~K9P|NRV6$rf>GSecJ!~mniC;zRT?Z@YJpveqjmavGABaCr4e3nJ%`e)tD zW6Ym7LH~DiGz`SkDP{>aw&!2tA6lZn@wHjSJ*&1){Y{WwGWor`BsH@IRE2J`L$?AE zlLNQb$4j#<4!ZomBVN=&=lN-(Lye2qQ}wR5+dvbQ^UGezomyEefc^o6!auDIu@<_a zN}WO%_TyIwgfr0UpC}ll@f{H0+M#D{5^JH@;ez8t&((+nZohnAdRiiN>dzY)6ix4a z6JDW_OjaSvt|P__)SMzgBTkH^!a&PKb^@f&V8|XVJ35goA<;90s8=+K zDOkOj(I?c7!#Na$VBB7cDhYn~OMi4~>2VI{xVEqyGc+1`Yy#Rqysg4Z3c4^@Q0K)n z7$qAzn*v^|k+7#s+krpEH~HxBbnVtGA>-&AgRz78nw^pKt8}3ytBCF@B(dQgEN+B= z`&+CYaS{Y(*$MHTp~uDGBL^(|{dPA0*Ucf^^wJO|Ao4vcL%$J^LH^(FisKNqlbRxa zQEm-XaJ$plnUD^cXLZaBlXOTo8afb=4~Kt)s~BJ8yI9Pju91HRSUOHbM-T3R&C3pGRZHx<@xhXlSac9p*$n71FAQ2r0L_lVShsUBA12k+* z{j*KYf`?S9TzG+Y6=xO%T4iaS5N!nARyv|BiIDC|j3{5eXpqNW~cyAyI|~L(A;J;&~>k;x>`5yp`IvK+JoUuKwE7j zol*F=r>73on^WlQ#U0npK6VP>vp&Zr|Db>3p38 zRE5RFnh_n=%j2Ny0;|^S-1y}4<6)PPD3-Fa)%y++3zn919-s4WH@YwRxzK|Ur-9Qk zK%!h#e!VG~C^HKm3egEIwzd|)^h4dpH!TWRR|cA{JMEyhuy-#sBVwQv>@5^YwVxT_ zWoOx`?ouEjo^@A)Mdx67AW_f3cN zueVS8Q%5dUc}&7}(b#g8N!P-^a?Bbe{^88cJa&%t^%sw*e8I>9Z>!hS*9;xc_Ktm4 zNg=c&so4#U{(Up{SFN$kLLTpoQ%SQnX8fD)#o@owFE4AVF5evu?4~w;7Q@l`czb&$ zjKpT&YYW?JK`mhr(bRFzxmsq14j^?!DpCgkIEG0rlj=EXL zTY|Hp{!t;(nQ;y0);6jekEA-Fk}I5!$zY?YGMg+trt)JTQPULUcM|&G;j?%o@0a2z zRdbMH#eu6+S81?u)!^g*spYj;yo!K@9E$G>7%FkK9T*q?yiZgCVW4Y2ffIB}xOtLX z1YyD)zbDR9E>7FGYC18?|D(aHN^)&j1(;`JAC+u>SH6DYr3LmpH5AC@uYT3nzT|S7 zciabpJ5y4s*j!W>V<2d{e7Uoqo^i5|lGYJ1`NN+eS~Zf@TAy zWx*Av$xoZrGmhi9p(|8`l9zzf0uj+7RZ|&0q+@+n0vsp|pmSTC1PJRxEQ8H~bcU4IWFGMXD>Tj(n+zMB}unXkaISuL98h6HC z7l#-!`1%$d-LgYLGD6MFY(T^9WkPJ@2i~E%HTMj5(H@CXv^P)4de{Ug$_6>oKojyK z%T|90c|aP%jAr&_4jMlcii)ZrzFg}zH#le)&^FMVo%$0k6G~nWculL8jTZQPJy~4d zncv}$N=Lo1nr{wbN=jyvs2|jJQ>#srmtZy@bVazW6apE#`cLz^<23K#o5zWpf%FqZ z1Bl`7dZ2a4^(>Z~*UPO=%1C8s1P;&>#XcxK^{iZ`-t-dp(qhP{l>8fZm2`aUX=!FB zac8A;vnDR?`30Anc8#BFwba+t-Q0Z^pV5xU`$HSMR^R<@O@ul=83gFwZurQ)lr|cM zX$`?3ITlbafqfhaxqVO5L9Tp{q}l7S&OeoE?P7XKX4;L}bLSr?U4IUDrfP6hWagLepx zlR}*Kebw>cl7p>tMH&B|nRXKN0n7<*jDwei&aQS;V#?&q}7wRuMM*Ux?=xyu6u*o#a)z!zRMe;ijWB2OD zw#xwlhkZYf&oa}@0ypg%Ne2r*+5pb*c!Yve6Hlh0lMNq01p@;7rM9I^8-7NA1&yAg%SnDwqHSw-A_9z4*hO%K_@`h zA%(Wf>#ot;g%$F(m8X`Zl+5yPymQ46^p`gE1#5S*SuBgKHQ;G4a{Iv3f;317+3?4l zlKbgwSDa^clJW$wpWUmiAwg;)ZXf0f;69j1_*@UEB=b<3rq2-~paY>si19iGxm&7{ z-3L`xgA5d$milj>Ulr0CphF^H(>&20Y}9pS3=R2JpJ`5BLrcF{r3n-la(m|k>NWO+ z5;@N9gCHA|pGsX@6IHdXgHHl3aIYMvq!EQ(>i(hJBH%wGAXH!f`>+`{cHcakW5LE=i~TSYJU;# z-7AxL;?{8se{083&-jQI@Pdm4b2HeQRqgqslYG6Z#S{)CJ3!3WTSTvGA(e45IM6Ua8s6cr zIMYHG;0-Bg`G1@P;?g>#pNk3DthNqJmmp<0kh6nH0APD0BaORr^UB zAwy40essKeSBq43MVLl?RAD;>e>Q=7pkx3LfBO@d--1#S9e&uviu{bHIVp><`|M5= zBMLOX^DCF=2m*cqKXWLMly7Yn@2*gmmGz^>t`&HyTPO}~(7u(OVk#=XDzmxl;+{{VB3pEIK>2WKyXKkq(wEXS%b1lhwDd?~+2!9F}%jz-)mGe5q( zDS;N~pe#3nO&w#Uxjuu285&~*I-EJ8mlJs#eWB?L_cu_cQnXLW$oB`gV?zy>0ZVDFyNbzjMt=K zEdO>s$n|+t;eQBR(0R0Weq@LMt_6A-Z|`V(Af8ao_x`uV9bXH=0BKi?!UqAJxOQeZ zVZ0xfU+~Qlol1R1r&{D4a9Zq6a7tYebyv6QHft zUDsX43mvYojlml3Pr;=spMqPayN1AQq<~#B9MLYXsKYr`Z3!&yw?*`%FHG|!oda#jYCm;vD#M%;r+bK)$B#DyueHp3-lfB6Pn6`YH!Sdh-Bo(L#y>T~ zd0!kQ#AtC30kqGKKBe^XR4SnVd1ZF=RBorMx-h^AI_)mla|BFYnyL&T# z_G|<%kk54(QnqfmPbh5rl8@Oj==wrfW2FEOLI5jo^WoRy|qtG8G1Fk->z_vu*j<7x8gE_>&7rOj*CH{0F_K=s? z-|{|QUljhIIa4Fi=Y7Was$LWbXSkG?lcK7lhN_|Jw`}U~%2sJ!pK0;s<@zTIi8XJ= z+D%guDZjr{1EJMKzL006Uv6lc>FZIMSiku;@li_BU>q-`lW7SM6vjSj`Y(3lVaOH`r%qH*;gM-;EjIcSKysR>RF=n6B_dAO zfr@dP|7q!cyjWj9!j>hxfI}QK?sw?hu?f;|&bJ4l&R35!zx&ljD4I_RPHeO$%JbeU z8%deGt0;XPHj%_H0?hCji3Noow8Qa{XzNezwQV)E5@a)1yIGe*lA5I6-UhOND-F~J zaHnN6e**Fr09;V*G+yJ&6RXV(IOLn*v;@;O`4Xdkw?rVz5ae`!gN?uW#oh@Jr`1A- z;HFg>Z@38KM>aTgX>A*rw=4POQC~-GPiBi@S8_E*WXV}V@8y^tLj!o;1kT5sl}nF0 zvb6s8wgrzIt_%lNef}lysA~+FiJTl@SCDNrAp1$Q)O4 z)n}lI_NJ$%w6ms$J zp1W=HVqKi#9`ZYH@M=j%>$ypILS=bQ=v`o3GsKYK_p*jk04m+1gT>-Pg(~mr^1|EK zvOLWlp3zC{CG-#iL-l?-9kQ{n1t)6^L|)yhB^=j!sR9JJLF{Xwn4mM?2S&T&M>f6G zgaScQfx*b3D-X!KOo8ggQIy{u?EP=6o;_0}Q6$~|q>i8EfYk&*7o`oG=Z?S(S;=ud zwdc(zraVu!CJ{~v1n0;LYX9!GXS|}`HZ?ACA?~ITA=GSTAx(y1UNRL&L9e$fWd-yX zeo?Pt@p5~FJ?$r}8zeRXloVOq+VL?wtZxR5zF<^ze;&tlY{KiLWdT=(Yuli`c34Ej4;9p~+<9>g(eV&vmgOHJNGgZ6HQo}~{ z*5KllzIv((3JE$kLvYqO1lsD3{JOv)x{#&S5ei1k0FE}v=mh|6gAqWh5DU6(@c*l* zizl@LT$t*!ED^r);(+BFeL?9!q<*=Zil^8~bWX`#{h1L2=swRyAU{h3E?S+(A9*mK zU|W474>EEw={40@dh!nG2-Ya<_Ybi`JxD4T%j2{RgQJ(fB|p7S4J3#um0+)AkC2tY z8(#n_cQ-Yoydzb15cN`zA7wh<0ymprYN>(hM-wXU)y{XI2>xe{dE8y6k5j+NYyepM zP_Cn+%*d;b{&h9o^dHqAhF4+=r}MhzJH+fIy}AAW)34WFgSF>bB@y5KAoC>>|J!3B z9V(paT`JGS^?hq88onU%f?W-#Zw88n?AWlnrsaIKP-`|@pwm}0U%?b#GdSBWRm6FM ze&t1ihpZK5)_L1rn4>s6FO4W>$^l2xWrCfA6Ek|7BL#2ucl&IznlT`F zwvMtJ*_Uf z?|pxLEV6`_ELa-paeF_sE&uj}K{}^EV8A7rYUd-xQ+Os82zF@AnZA#+xn^gcIn6e; zWG-36WdiH6m6A+ig)p2?{f0NN;SuRZ`U0(+7ZW9n+Fl)U!Pcs;{62wuA zn5lJV=XH&yg|Iy4(2*E(FriNW1l864I zvrMtO+}beIPa6>wnH}4Mdp>q9fcC-+l)p1eU=dd3%)^c5Z zMb~yH6jAB8oq>A5d$H1lI-c%9BI@eYD@!ruWjc6|>WPr~sJr;faeRnA>b>hzazC&4 zOE2nIGVZEg{xL%f=;Ug0KV^t$q)zk)^Z6XyEU?|?kXJdQW1S82a6D{^%c#A@*R@ZusWB_ zUAEQNo=pP6slkI(5yw1oNp&syijoK7irxdT%Ia5J<^1-3@>Q)2tBC-#bnXNt0hd&#i;1*uCh4gMYPms2&5rhLw+O)jdW*3ihOZcVTpJ$5X`%U zl@%YhnbX4RKrCv3EG#ao-32qRrtu7-AEBF9xW|Ze^d4qfqsuCJw0L;pD8Hj8e;UM5 z%u^sUyt9)GxCz`;$n$r%)nECE8hJ`&erGHDChycr@XU?{38AXJ;lH8b4v!)06x7lo zzP4$I2EoovLq})(b>oyp!QI;VPa!0_FiI=vQ~%XFBvAGbE<@hPXLY;A-iJFX*b8-7 zX%urRo~F#(0*xBz)@m+O5jXxE9+@wb!@|)LlZout9pL3H?Zo2tb3JDiVt<*RvyvSz zm*FZe!bO_xj`LZ(VbH|>W0VmF??vqZlG|D5sZ4f~%uYOnT%C5zrm~~5+}%rjo+&^N zzGH}K5MAHgrR=7ezU4JH7E-Q1A_)nyvbhN|os6FXUD4ks)iTdN=9kQQN-mCJ&-VAH zqZ43g=q(*JS2`rRf5*!oL|1dx?5$fA`*1D9_W=hJB1Yb%MrXzTD#S>28EScWl?VYb z=}L>S+#B0|L%TzYqOB?6XZ+Yebl4U>4-ctBO=GVnZ_|1kAe+y_D0W zM)4=sDI^N;)d4?AWnDwW&6bu$L~+rwmAPtamJ;;h+`hI~uf7;)AB{sV*=~?E|EODN zo2UD_^Em!l;qlrN^|!dbMZiPgrU*YMa8H;F7W8SHT`hUu!F(~p8Ndq5>L2Mg$y4t# zOQ`u)7q9$i^E3|E7ZujG0b2Ari3E?J0xz}n5`IMU`^@Xv?5u~mm74q|eZ@E)fsYhh z!gc^+J-c^H1^AMthc+j>kF4lB3N=4PlUwe=Y8kw*sCUdV3zak%`!Z2>@WcC0a36%9 z<9tT+7fn*~YI^i|+_(Mn%?vCx>H9OylG24>i2acSHW$-th;7GD?`LY`UKhQvWL?N0 z+IOJnK|W-(NEPubY>$u{8j#skfJ7+bJ(YB`nzj`3i}Ynym4w;1rODw7jW09}5fLd- z*%=At%SzV9U&X?sfW!SvkESW;CYK1+WJ|T^jwAs-$W?pCgV)APl&a_Yc za4h1vxJEviD49AoIt&c@Yd>I`?)U2~og6v{Ejt{fYGq{lEk2KrN+<^xQO4hQiQ9?0 zAHd2YmnE3yvVb_SU&GVN@zXdUxM?!=qm*k~1fOk593yhXwt%Bx3u3Jt7)}uSMlU(B z(=DSO%Rg)XAedMEBpE3G+MR|5GIe4A!djRFV?UfU+gYR=E$%SQ%Eg<(s-nS>Ez^ep zG18o%zM{u?4f7EK#9@nE$2j%U*hzeu{JZep<@B)8o_As(A^~C&7&&oD%${N4xaR@R z_zJ7iWkm}`@xoV;CUy4_E0pj!0+bR<2L^bI@rEaLiDgY28ZrFDT!OoOH%2btnEuIGG~AVd-NPI$pcIN2=&x9O-T8*x!#@PH6m z4{Tz-xiyycN3Z@Q_|Ln;HJ|L%2l?_pTb9&P{+TJ2dKr0j7w_yOEJ$3JGp93kG!&&G zNX8>9i)K-8n@9MS7L{#Q$IR(w!*+TroeiFBSW|Z87b2Lqk77+_C-T<;#*)r9q8C~rX^usRA z3+gp{!=#c({tw5z^ zLL~sI^k`gVWn1?*4cv}Lao3D-w<#;@mu~R#=9_7EHH^~~TI24H(~l|#WDw3(MIR0t z4W$F+Z=bp%*4R(X>KR{ohA=*b6`HyTmyqE~jFvgugsv{rD|`UGB`02v%>_cH@APfv zdyCdjU1BGezCO$yzuerW*= zX(799s+(=&Zh^x!ra%U!l>dZVUt-PCOM!Rn?3269>P=7hJOZmW4_VAMR7>KMsb~)n zU{;}Bt~nGf)wC^2MY!3yw(^E!wLbO3PUv3jD62vDQ)8D~sFG2@G|kSb%+0ScEwM1D zGm^`n=smcH-j&hbkU`u@2cN9bI*`#C-Pu|>_Z@)Qlr^pn@wFo;VD-gH^=-p0oApE( zrMcURi?0VH9^U;3g7h~3s#;tZv#t$ zu(s<^kcAu7+Iza5J%7KPUQD9#+lp#q1T`G3UR8RwY$qYiqq(#vEBZVw>_e6bQIlZH zm^v^BkB)uHp;0Ei@G(9d$#AKk38m5(2oa$#po%fAV+IBpK5sXOymzn{h5pNZxlUrD z2?xIb>L-eOd+bjXjo8|tb<{(WeDPQbONC#t*9xJjFV;G6Am9UPk~Ta-*9-Mk8qj$+ zV=9Ler`kFLV<5V%HOI$4Okw?ABUs-8B)sOv=<b^n5;6u8r2>P5<2RB|@N0rK|Ul&C_~5=lW+`c zyXvdI3rjKQN?uucG^{zJuwlwhre><1a}^Cez-M_|1UQM6DiG%f_LuPL#6gJOTEVq4 zl4pq*1>>dW5~MngEZhC=x-ihTh&1uEvFN#WTpfUnSCASVo7sy?RUzP<#XRQ@_+NZ< z%y8QrH;-3#~{^i1klwZBA9S#4#@b8|dpRyh3wlytOz>ShVosxx9D0ab(Bf{e<%fWI<(gQ1I}_D>!)`uJaB z^b{=1t-$VVr!FpEb7ea`Nf;%0r4gEf-<}>UOvXqp&sx**Di?bNzNrKL6%Bn9WG*h) zf$2teTnZ;KSDbywb8)caMRN$QvS5w?YpsAQl`UR_I%0L-!6FYlsqj|omY za4oKIj@79?XNeQD4wr+m&G-+94To$;SV#9Jsw2X4}|% zaCUygGumQd1&=`w3Z}Z8QX2ika z6I)VjNMiq1HGbFfLK`40^M*jn3&c>_vf`Pc{VUEVynVUY?ZNNg-M>nMu3sbA)!Qnp zikCI58H@gqgq&Bl_Kt$%Qt#%M#r!yCR&GR|)fd)uZ$hZLH^F!F&@T6D^?~ohBPip= z1Y&9E9XS^dWn8kgaf*Xl$4&A8JCZ)XeeFq^kNl`FY^JUUl#*B)h+uFDOxtL zgT2PB@9I6YBqoTNPHlpnXBVC~+s;j-{bah~kQyz{D*%7uu{NwUXRGHKJ#zCx9NKQh zsjA~5j?#uCRY92iETap78t?h|HgnYE}q($f-Lo@CXeV)avI22FL!-|D2DXy{!z z2tat+V?JC3m6I0>XXx{vex)T9vla=pBVS-(F7Fy5%y6|YtX@gPc^hLsflqfi!VL}m zBuI1IAb_RkcH_M6bB%-TXyBA*KxxqkgkOZ+Du zHs>emYwH^q;Pbj1iV_I8ytC$xFW^lN<r6at%p4aVmOkYa^YmYpqr>ZOH7Cyjyu%6m8Tt*4A=CdIe%Usykdk&=dzz_dT z=Bec;8td{(OWw=VRHf_-suZyRQ#J1+-w#3b$pe?&z|_%h3j+sq7X9JjT~D8_PoM2F zv8-b3$8~qeFt2Ci0|z~ZsUMFNTfeXND-Z1^7uB1#J5%LoT}j#6AZXSZ{zT!}VGlvH zUm+x2uotS;pT@I0&>U-pV5}v+m!Y1jDW#Q>=VFBG34QK4PoXz>x_i1=c8Y-u!n3yf zK;DIXX;D-$s&-?cJE}G;j zs5`$Bv}dG(kz2I8u+9zqUp)68V@trq)6O8$ef<%#>lkH_w#W8XsdBH?5>qD^Z#0fxTexl_B>AGd* zPjBN^x}mhD*;Wp^RW6TGg9>Y04{5qqA7cu|2RKIaV=pEz+Xz;)-Ae^_M8GWN6K9-d4U7|EBIQMNT3K6c$$H z^v6zzoSf`H#SH8?a34g%WR)vgOyt~BQ^8Qk;<-X%c`RxZ8?FuxtFS%`IagyDI2uj` zT)jlGzXs5H7(F~azHX+|-W*AA+I=DO7uWnfP26G%s?msfpSSe#wcfclyk)^9r?24fzmV(uE))2@Rvc==KM1q5!K(Dr=4 z_u_-`PoXLL5F%CbM28@LU_#c!(wf_Ox8~S6*#(7y$46CS@OpK0#PDvK)wzj>X# zSly6reV+sp4U~^|^WT9?4bCqX%(pUk4#eU1aHMqD|0~Z;V8sPe6|CI;+2@7bR;f`ueeo6*ZVQx)0hS-YyDw6WPdO~?Kj_z8!H?hm^>*;an$~N!R95R@eaj;Q!GG5q0_`f>jR8h4^iKl&mj8`c+W}npT8*1v*Xc@gNOfae?QhXL z>(L@AdTb`=?hVFmSx&A&yR=R?yy3t#p&a(GWTuxLnV^50pq%Plg(`;X2p%V1O)QKS z8N=VrvA|cVoB=E6S@@R}hVqs7`wu3caFpHdC+eMiG(Gm#{Rm#bp^<-34$dXXhtY=! zQeEonc1ty@xJQk`~7Ss=g$i%T>e z4f>?&Z>1cXx4U2Q#Rb0}#g13JfP=!nc%wk-9ipp@w_MEiEfv#ido&f5--18$4efk< zJHRn7u77(FJ$n zTdK;=x#Y76I7GUGKGUOzwt?r848&nsADAN1cLW7$nbmJl2mQd1

    Bb?B+5;;7PJ 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]D4ezN)i^2uMy}?DT%AkGLCbN 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 TanhE94tSXvSs7Lv+>ZSZOO|