├── src ├── utils │ ├── .gitignore │ ├── __init__.py │ ├── datasets_push.py │ ├── get_text_embedding.py │ ├── datasets_tranfer.py │ ├── make_ft_rerank_corpus.py │ └── make_ft_embedding_corpus.py ├── __init__.py ├── usage │ ├── __init__.py │ └── image_search.py ├── finetune │ ├── __init__.py │ ├── config.yml │ ├── ft_rerank.py │ └── ft_embedding.py ├── quantization │ ├── __init__.py │ ├── basic_test.py │ ├── es_embedding_demo.py │ ├── simple_embed_sq8.py │ ├── simple_embed_bin.py │ ├── milvus_db_init.py │ └── milvus_embed_quantized_eval.py └── baseline_eval │ ├── __init__.py │ └── bge_base_zh_eval.py ├── .gitignore ├── data ├── dengyue_embedding.npz ├── two_dogs_in_snow.jpg ├── corpus_openai_embedding.npy ├── queries_openai_embedding.npy ├── dengyue.json ├── ft_test.txt └── ft_train.txt ├── tests └── __init__.py ├── requirements.txt ├── docs └── model_evaluation.md └── README.md /src/utils/.gitignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | models 3 | src/*/.env -------------------------------------------------------------------------------- /data/dengyue_embedding.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/percent4/embedding_model_exp/HEAD/data/dengyue_embedding.npz -------------------------------------------------------------------------------- /data/two_dogs_in_snow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/percent4/embedding_model_exp/HEAD/data/two_dogs_in_snow.jpg -------------------------------------------------------------------------------- /data/corpus_openai_embedding.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/percent4/embedding_model_exp/HEAD/data/corpus_openai_embedding.npy -------------------------------------------------------------------------------- /data/queries_openai_embedding.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/percent4/embedding_model_exp/HEAD/data/queries_openai_embedding.npy -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/6/6 15:56 5 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/6/6 15:56 5 | -------------------------------------------------------------------------------- /src/usage/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/7/2 17:21 5 | -------------------------------------------------------------------------------- /src/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/6/6 16:09 5 | -------------------------------------------------------------------------------- /src/finetune/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/6/6 16:05 5 | -------------------------------------------------------------------------------- /src/quantization/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/6/6 16:06 5 | -------------------------------------------------------------------------------- /src/baseline_eval/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: __init__.py.py 4 | # @time: 2024/6/6 16:05 5 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | datasets==2.20.0 2 | llama_index==0.10.46 3 | numpy==1.25.0 4 | pandas==2.2.2 5 | python-dotenv==1.0.1 6 | sentence_transformers==3.0.0 7 | torch==2.3.1 8 | pillow==10.3.0 9 | pymilvus==2.4.4 -------------------------------------------------------------------------------- /src/finetune/config.yml: -------------------------------------------------------------------------------- 1 | task: sentence-transformers:pair 2 | base_model: /workspace/code/embedding_model_exp/models/bge-base-zh-v1.5 3 | project_name: autotrain-pair 4 | log: tensorboard 5 | backend: local 6 | 7 | data: 8 | path: jclian91/embedding_exp_semiconductor 9 | train_split: train 10 | valid_split: dev 11 | column_mapping: 12 | sentence1_column: anchor 13 | sentence2_column: positive 14 | 15 | params: 16 | max_seq_length: 512 17 | epochs: 5 18 | batch_size: 4 19 | lr: 2e-5 20 | optimizer: adamw_torch_fused 21 | scheduler: cosine 22 | gradient_accumulation: 2 23 | mixed_precision: fp16 -------------------------------------------------------------------------------- /src/utils/datasets_push.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: datasets_push.py 4 | # @time: 2024/6/6 23:20 5 | import os 6 | from datasets import load_dataset 7 | 8 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 9 | 10 | data_files = {"train": f"{project_dir}/data/auto_train_dataset.json", "dev": f"{project_dir}/data/auto_val_dataset.json"} 11 | raw_dataset = load_dataset("json", data_files=data_files) 12 | 13 | print(raw_dataset) 14 | raw_dataset.push_to_hub("jclian91/embedding_exp_semiconductor") 15 | 16 | """ 17 | huggingface-cli login 18 | # using write access token 19 | """ -------------------------------------------------------------------------------- /src/utils/get_text_embedding.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: get_text_embedding.py 4 | # @time: 2024/7/11 10:19 5 | import os 6 | import json 7 | import requests 8 | from typing import List 9 | from dotenv import load_dotenv 10 | 11 | 12 | load_dotenv() 13 | 14 | 15 | def get_embedding(texts: List[str]): 16 | url = "https://api.openai.com/v1/embeddings" 17 | payload = json.dumps({ 18 | "model": "text-embedding-ada-002", 19 | "input": texts, 20 | "encoding_format": "float" 21 | }) 22 | headers = { 23 | 'Content-Type': 'application/json', 24 | 'Authorization': f'Bearer {os.getenv("OPENAI_API_KEY")}' 25 | } 26 | response = requests.request("POST", url, headers=headers, data=payload) 27 | embedding = [_["embedding"] for _ in response.json()['data']] 28 | response.close() 29 | return embedding 30 | -------------------------------------------------------------------------------- /src/utils/datasets_tranfer.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: datasets_tranfer.py 4 | # @time: 2024/6/6 23:01 5 | # load train dataset 6 | import os 7 | import json 8 | from datasets import Dataset 9 | 10 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 11 | 12 | # load dataset 13 | with open(os.path.join(project_dir, "data/ft_val_dataset.json"), "r", encoding="utf-8") as f: 14 | train_content = json.loads(f.read()) 15 | 16 | train_anchor, train_positive = [], [] 17 | for query_id, context_id in train_content['relevant_docs'].items(): 18 | train_anchor.append(train_content['queries'][query_id]) 19 | train_positive.append(train_content['corpus'][context_id[0]]) 20 | 21 | train_dataset = Dataset.from_dict({"positive": train_positive, "anchor": train_anchor}) 22 | 23 | train_dataset.to_json(os.path.join(project_dir, "data/auto_val_dataset.json")) 24 | -------------------------------------------------------------------------------- /src/usage/image_search.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: image_search.py 4 | # @time: 2024/7/2 17:21 5 | import os 6 | from PIL import Image 7 | from sentence_transformers import SentenceTransformer 8 | 9 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 10 | 11 | # Load CLIP model 12 | model_path = os.path.join(project_dir, "models/clip-ViT-B-32") 13 | model = SentenceTransformer(model_path) 14 | 15 | # Encode an image: 16 | image_path = os.path.join(project_dir, "data/two_dogs_in_snow.jpg") 17 | img_emb = model.encode(Image.open(image_path)) 18 | 19 | # Encode text descriptions 20 | text_emb = model.encode( 21 | ["Two dogs in the snow", "A cat on a table", "A picture of London at night"] 22 | ) 23 | 24 | # Compute similarities 25 | similarity_scores = model.similarity(img_emb, text_emb) 26 | print(similarity_scores) 27 | print(type(similarity_scores)) 28 | 29 | """ 30 | tensor([[0.3072, 0.1016, 0.1095]]) 31 | 32 | """ -------------------------------------------------------------------------------- /src/quantization/basic_test.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: basic_test.py 4 | # @time: 2024/6/14 10:47 5 | import os 6 | 7 | import numpy as np 8 | from sentence_transformers import SentenceTransformer 9 | from sentence_transformers.quantization import quantize_embeddings 10 | 11 | # 1. Load an embedding model 12 | model_name = 'bge-base-zh-v1.5' 13 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 14 | model_path = os.path.join(project_dir, f"models/{model_name}") 15 | model = SentenceTransformer(model_path) 16 | 17 | # 2a. Encode some text using "binary" quantization 18 | sentences = ["小米手机销量不错。", "人工智能技术发展迅速。"] 19 | binary_embeddings = model.encode(sentences, precision="ubinary") 20 | print('*' * 50) 21 | print(binary_embeddings.shape) 22 | print(binary_embeddings.nbytes) 23 | print(binary_embeddings) 24 | 25 | # 2b. or, encode some text without quantization & apply quantization after wards 26 | embeddings = model.encode(sentences) 27 | binary_embeddings_v2 = quantize_embeddings(embeddings, precision="ubinary") 28 | print('*' * 50) 29 | print(embeddings.shape) 30 | print(embeddings.nbytes) 31 | print(embeddings) 32 | binary_embeddings_cal = np.packbits(np.where(embeddings > 0, 1, 0), axis=-1) 33 | print('*' * 50) 34 | print(binary_embeddings_v2.shape) 35 | print(binary_embeddings_v2.nbytes) 36 | print(binary_embeddings_v2) 37 | print('*' * 50) 38 | print(np.array_equal(binary_embeddings, binary_embeddings_v2)) 39 | print(np.array_equal(binary_embeddings, binary_embeddings_cal)) 40 | -------------------------------------------------------------------------------- /src/baseline_eval/bge_base_zh_eval.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: bge_base_zh_eval.py 4 | # @time: 2024/6/6 16:32 5 | import os 6 | import json 7 | import time 8 | import torch 9 | from pprint import pprint 10 | from sentence_transformers import SentenceTransformer 11 | from sentence_transformers.evaluation import InformationRetrievalEvaluator 12 | from sentence_transformers.util import cos_sim 13 | 14 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 15 | 16 | # data process 17 | # load dataset, get corpus, queries, relevant_docs 18 | with open(os.path.join(project_dir, "data/doc_qa.json"), "r", encoding="utf-8") as f: 19 | content = json.loads(f.read()) 20 | 21 | corpus = content['corpus'] 22 | queries = content['queries'] 23 | relevant_docs = content['relevant_docs'] 24 | 25 | # Load a model 26 | # 替换成自己的模型完整路径或使用huggingface model id 27 | model_name = "bge-base-zh-v1.5" 28 | model_path = os.path.join(project_dir, f"models/{model_name}") 29 | model = SentenceTransformer(model_path, device="cuda" if torch.cuda.is_available() else "cpu") 30 | print("Model loaded") 31 | 32 | s_time = time.time() 33 | 34 | # Evaluate the model 35 | evaluator = InformationRetrievalEvaluator( 36 | queries=queries, 37 | corpus=corpus, 38 | relevant_docs=relevant_docs, 39 | name=f"{os.path.basename(model_path)}", 40 | score_functions={"cosine": cos_sim} 41 | ) 42 | 43 | # Evaluate the model 44 | result = evaluator(model) 45 | pprint(result) 46 | print(f"Time cost: {time.time() - s_time:.2f}s") 47 | -------------------------------------------------------------------------------- /src/utils/make_ft_rerank_corpus.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: make_ft_rerank_corpus.py 4 | # @time: 2024/6/19 11:31 5 | # Python script for making ReRank model training dataset 6 | import os 7 | import json 8 | from random import choices 9 | import pandas as pd 10 | 11 | 12 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 13 | 14 | with open(os.path.join(project_dir, 'data/ft_train_dataset.json')) as f: 15 | train_corpus = json.load(f) 16 | 17 | rerank_train_data = {"query_id": [], "queries": [], "passages": [], "labels": []} 18 | relevant_docs = train_corpus['relevant_docs'] 19 | corpus = train_corpus['corpus'] 20 | # each query has 1 relevant doc and 4 negative docs 21 | for query_id, query in train_corpus['queries'].items(): 22 | rerank_train_data["query_id"].append(query_id) 23 | rerank_train_data["queries"].append(query) 24 | relevant_passage_id = relevant_docs[query_id][0] 25 | rerank_train_data["passages"].append(corpus[relevant_passage_id]) 26 | rerank_train_data["labels"].append(1) 27 | 28 | cnt = 0 29 | while cnt < 4: 30 | negative_id = choices(list(corpus.keys()), k=1)[0] 31 | if negative_id != relevant_passage_id: 32 | rerank_train_data["query_id"].append(query_id) 33 | rerank_train_data["queries"].append(query) 34 | rerank_train_data["passages"].append(corpus[negative_id]) 35 | rerank_train_data["labels"].append(0) 36 | cnt += 1 37 | 38 | df = pd.DataFrame(rerank_train_data) 39 | df.to_csv(os.path.join(project_dir, 'data/ft_rerank_train.csv'), index=False) 40 | -------------------------------------------------------------------------------- /docs/model_evaluation.md: -------------------------------------------------------------------------------- 1 | 不同模型的评估指标如下: 2 | 3 | | 模型 | accuracy@5 | accuracy@10 | map@100 | mrr@10 | ndcg@10 | cost time | 4 | |---------------------------|------------|-------------|---------|--------|----------|-----------| 5 | | bge-base-zh-v1.5 | 0.8100 | 0.8816 | 0.6998 | 0.6945 | 0.7396 | 15.44s | 6 | | ft_bge-base-zh-v1.5 | 0.9128 | 0.9408 | 0.8052 | 0.8018 | 0.8362 | 15.14s | 7 | | autotrain-bge-base-zh-v15 | 0.9159 | 0.9346 | 0.7952 | 0.7918 | 0.8272 | 15.07s | 8 | 9 | 注意: 10 | 11 | - ft_bge-base-zh-v1.5和autotrain-bge-base-zh-v15都是对基准模型bge-base-zh-v1.5进行微调得到的模型,前者使用sentence-transformers微调,后者使用AutoTrain微调。 12 | - 评估脚本为 src/baseline_eval/bge_base_zh_eval.py,使用Mac CPU测试,CPU型号为 `Apple M2 Pro` 。 13 | 14 | 不同Rerank模型的评估指标如下: 15 | 16 | bge-rerank-base: 17 | 18 | | retrievers | hit_rate | mrr | 19 | |-------------------------------------|----------|--------| 20 | | ensemble_bge_base_rerank_top_1_eval | 0.8255 | 0.8255 | 21 | | ensemble_bge_base_rerank_top_2_eval | 0.8785 | 0.8489 | 22 | | ensemble_bge_base_rerank_top_3_eval | 0.9346 | 0.8686 | 23 | | ensemble_bge_base_rerank_top_4_eval | 0.947 | 0.872 | 24 | | ensemble_bge_base_rerank_top_5_eval | 0.9564 | 0.8693 | 25 | 26 | bge-rerank-large: 27 | 28 | | retrievers | hit_rate | mrr | 29 | |--------------------------------------|----------|--------| 30 | | ensemble_bge_large_rerank_top_1_eval | 0.8224 | 0.8224 | 31 | | ensemble_bge_large_rerank_top_2_eval | 0.8847 | 0.8364 | 32 | | ensemble_bge_large_rerank_top_3_eval | 0.9377 | 0.8572 | 33 | | ensemble_bge_large_rerank_top_4_eval | 0.9502 | 0.8564 | 34 | | ensemble_bge_large_rerank_top_5_eval | 0.9626 | 0.8537 | 35 | 36 | ft-bge-rerank-base: 37 | 38 | | retrievers | hit_rate | mrr | 39 | |----------------------------------------|----------|----------| 40 | | ensemble_ft_bge_base_rerank_top_1_eval | 0.8474 | 0.8474 | 41 | | ensemble_ft_bge_base_rerank_top_2_eval | 0.9003 | 0.8816 | 42 | | ensemble_ft_bge_base_rerank_top_3_eval | 0.9408 | 0.9102 | 43 | | ensemble_ft_bge_base_rerank_top_4_eval | 0.9533 | 0.9180 | 44 | | ensemble_ft_bge_base_rerank_top_5_eval | 0.9657 | 0.9240 | 45 | 46 | 47 | ft-bge-rerank-large: 48 | 49 | | retrievers | hit_rate | mrr | 50 | |-----------------------------------------|----------|---------| 51 | | ensemble_ft_bge_large_rerank_top_1_eval | 0.8474 | 0.8474 | 52 | | ensemble_ft_bge_large_rerank_top_2_eval | 0.9003 | 0.8769 | 53 | | ensemble_ft_bge_large_rerank_top_3_eval | 0.9439 | 0.9024 | 54 | | ensemble_ft_bge_large_rerank_top_4_eval | 0.9564 | 0.9029 | 55 | | ensemble_ft_bge_large_rerank_top_5_eval | 0.9688 | 0.9028 | 56 | -------------------------------------------------------------------------------- /src/quantization/es_embedding_demo.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: es_embedding_demo.py 4 | # @time: 2024/7/16 10:05 5 | import os 6 | import json 7 | import numpy as np 8 | from elasticsearch import Elasticsearch 9 | from elasticsearch.helpers import bulk 10 | 11 | from src.utils.get_text_embedding import get_embedding 12 | 13 | es_client = Elasticsearch(['http://localhost:9200']) 14 | index_name = "dengyue" 15 | 16 | if not es_client.indices.exists(index=index_name): 17 | # create index 18 | mapping = { 19 | "properties": { 20 | "content": { 21 | "type": "text", 22 | "fields": { 23 | "keyword": { 24 | "type": "keyword", 25 | "ignore_above": 256 26 | } 27 | } 28 | }, 29 | "content_id": { 30 | "type": "integer" 31 | }, 32 | "embedding": { 33 | "type": "dense_vector", 34 | "dims": 1536, 35 | "index": True, 36 | "similarity": "cosine" 37 | } 38 | } 39 | } 40 | es_client.indices.create(index=index_name, mappings=mapping) 41 | # read content and its openai embedding 42 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 43 | corpus_embeddings = np.load(os.path.join(project_dir, "data/dengyue_embedding.npz"))['arr_0'] 44 | print("corpus embeddings: ", corpus_embeddings.shape) 45 | with open(os.path.join(project_dir, 'data/dengyue.json'), 'r') as f: 46 | corpus_list = list(json.loads(f.read()).values()) 47 | 48 | # insert data into ElasticSearch 49 | requests = [] 50 | for i, doc in enumerate(corpus_list): 51 | request = {"_op_type": "index", 52 | "_index": index_name, 53 | "content_id": i + 1, 54 | "content": doc, 55 | "embedding": corpus_embeddings[i].tolist()} 56 | requests.append(request) 57 | 58 | bulk(es_client, requests) 59 | print("insert data into ElasticSearch successfully!") 60 | 61 | # search data from ElasticSearch 62 | query = "阿波罗登月计划" 63 | # query = "神舟五号 杨利伟" 64 | # query = "北京航天城" 65 | query_embedding = get_embedding([query])[0] 66 | result = es_client.search(index=index_name, 67 | knn={ 68 | "field": "embedding", 69 | "k": 3, 70 | "num_candidates": 10, 71 | "query_vector": query_embedding 72 | }) 73 | 74 | for record in result['hits']['hits']: 75 | print(record['_source']) 76 | -------------------------------------------------------------------------------- /src/finetune/ft_rerank.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: ft_rerank.py 4 | # @time: 2024/6/19 11:30 5 | # Python script for ReRank model fine-tuning using Sentence Transformers 6 | import os 7 | import logging 8 | import pandas as pd 9 | 10 | from torch.utils.data import DataLoader 11 | 12 | from sentence_transformers import InputExample, LoggingHandler 13 | from sentence_transformers.cross_encoder import CrossEncoder 14 | from sentence_transformers.cross_encoder.evaluation import CERerankingEvaluator 15 | 16 | # logger 17 | logging.basicConfig( 18 | format="%(asctime)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S", level=logging.INFO, handlers=[LoggingHandler()] 19 | ) 20 | 21 | # First, we define the transformer model we want to fine-tune 22 | model_path = "/workspace/models/bge-reranker-large" 23 | train_batch_size = 8 24 | num_epochs = 5 25 | model_save_path = "ft_" + os.path.basename(model_path) 26 | 27 | 28 | # We set num_labels=1, which predicts a continuous score between 0 and 1 29 | model = CrossEncoder(model_path, num_labels=1, max_length=512) 30 | 31 | 32 | # Prepare datasets for model training and evaluation 33 | train_samples = [] 34 | dev_samples = {} 35 | 36 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 37 | train_df = pd.read_csv(os.path.join(project_dir, "data/ft_rerank_train.csv")) 38 | print(train_df.shape) 39 | for i, row in train_df.iterrows(): 40 | train_samples.append(InputExample(texts=[row["queries"], row["passages"]], label=row["labels"])) 41 | 42 | val_df = pd.read_csv(os.path.join(project_dir, "data/ft_rerank_val.csv")) 43 | for i, row in val_df.iterrows(): 44 | query_id = row["query_id"] 45 | if query_id not in dev_samples: 46 | dev_samples[query_id] = {"query": row["queries"], "positive": set(), "negative": set()} 47 | 48 | if row["labels"]: 49 | dev_samples[query_id]["positive"].add(row["passages"]) 50 | else: 51 | dev_samples[query_id]["negative"].add(row["passages"]) 52 | 53 | # We create a DataLoader to load our train samples 54 | train_dataloader = DataLoader(train_samples, shuffle=True, batch_size=train_batch_size) 55 | 56 | # We add an evaluator, which evaluates the performance during training 57 | # It performs a classification task and measures scores like F1 (finding relevant passages) and Average Precision 58 | evaluator = CERerankingEvaluator(dev_samples, name="train-eval") 59 | 60 | # Configure the training 61 | warmup_steps = 100 62 | logging.info("Warmup-steps: {}".format(warmup_steps)) 63 | 64 | 65 | # Train the model 66 | model.fit( 67 | train_dataloader=train_dataloader, 68 | evaluator=evaluator, 69 | epochs=num_epochs, 70 | evaluation_steps=100, 71 | optimizer_params={'lr': 1e-5}, 72 | warmup_steps=warmup_steps, 73 | output_path=model_save_path, 74 | use_amp=True 75 | ) 76 | 77 | # Save the model 78 | model.save(model_save_path) 79 | -------------------------------------------------------------------------------- /src/quantization/simple_embed_sq8.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: simple_embed_sq8.py 4 | # @time: 2024/7/11 10:03 5 | # simple scalar embedding quantization using Milvus 6 | # reference: https://milvus.io/docs 7 | import os 8 | import json 9 | import time 10 | import numpy as np 11 | from pymilvus import MilvusClient, FieldSchema, CollectionSchema, DataType 12 | 13 | from src.utils.get_text_embedding import get_embedding 14 | 15 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 16 | 17 | with open(os.path.join(project_dir, 'data/dengyue.json'), 'r') as f: 18 | sentences = list(json.loads(f.read()).values()) 19 | 20 | # add vector 21 | sentences_embeddings = np.load(os.path.join(project_dir, "data/dengyue_embedding.npz"))['arr_0'] 22 | 23 | collection_name = "dengyue" 24 | # Connects to a server 25 | client = MilvusClient(uri="http://localhost:19530", db_name="default") 26 | # List all collection names 27 | collections = client.list_collections() 28 | print("exist collections: ", collections) 29 | 30 | # create collection if not exists 31 | if collection_name not in collections: 32 | # Creates a collection 33 | fields = [ 34 | FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=False), 35 | FieldSchema(name="text", dtype=DataType.VARCHAR, max_length=1000), 36 | FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=1536) 37 | ] 38 | schema = CollectionSchema(fields, "text search demo") 39 | index_params = client.prepare_index_params() 40 | index_params.add_index( 41 | field_name="embedding", 42 | index_type="IVF_SQ8", 43 | metric_type="L2", 44 | params={"nlist": 128} 45 | ) 46 | client.create_collection( 47 | collection_name=collection_name, 48 | schema=schema, 49 | index_params=index_params 50 | ) 51 | time.sleep(3) 52 | res = client.get_load_state( 53 | collection_name=collection_name 54 | ) 55 | print("load state: ", res) 56 | 57 | # Inserts vectors in the collection 58 | entities = [ 59 | {"id": i + 1, 60 | "text": sentences[i], 61 | "embedding": sentences_embeddings[i].tolist()} 62 | for i in range(len(sentences)) 63 | ] 64 | client.insert(collection_name=collection_name, data=entities) 65 | 66 | # Single vector search 67 | query = "阿波罗登月计划" 68 | # query = "神舟五号 杨利伟" 69 | # query = "北京航天城" 70 | query_embedding = get_embedding([query]) 71 | 72 | start_time = time.time() 73 | res = client.search( 74 | collection_name=collection_name, 75 | data=query_embedding, 76 | limit=3, 77 | search_params={"metric_type": "IP", "params": {}}, 78 | output_fields=['text'] 79 | ) 80 | print(len(res[0]), res[0][0]) 81 | print(f"cost time: {(time.time() - start_time) * 1000:.2f} ms") 82 | 83 | # Convert the output to a formatted JSON string 84 | result = json.dumps(res, indent=4, ensure_ascii=False) 85 | print(result) 86 | 87 | -------------------------------------------------------------------------------- /src/quantization/simple_embed_bin.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: simple_embed_bin.py 4 | # @time: 2024/7/11 10:28 5 | # simple binary embedding quantization using Milvus 6 | import os 7 | import json 8 | import time 9 | import numpy as np 10 | from pymilvus import MilvusClient, FieldSchema, CollectionSchema, DataType, Collection 11 | 12 | from src.utils.get_text_embedding import get_embedding 13 | 14 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 15 | 16 | with open(os.path.join(project_dir, 'data/dengyue.json'), 'r') as f: 17 | sentences = list(json.loads(f.read()).values()) 18 | 19 | # add vector 20 | sentences_embeddings = np.load(os.path.join(project_dir, "data/dengyue_embedding.npz"))['arr_0'] 21 | 22 | collection_name = "dengyue_bin" 23 | # Connects to a server 24 | client = MilvusClient(uri="http://localhost:19530", db_name="default") 25 | # List all collection names 26 | collections = client.list_collections() 27 | print("exist collections: ", collections) 28 | 29 | # create collection if not exists 30 | if collection_name not in collections: 31 | # Creates a collection 32 | fields = [ 33 | FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=False), 34 | FieldSchema(name="text", dtype=DataType.VARCHAR, max_length=1000), 35 | FieldSchema(name="embedding_bin", dtype=DataType.BINARY_VECTOR, dim=1536) 36 | ] 37 | schema = CollectionSchema(fields, "Embedding quantization demo") 38 | index_params = client.prepare_index_params() 39 | index_params.add_index( 40 | field_name="embedding_bin", 41 | index_type="BIN_FLAT", 42 | metric_type="JACCARD", 43 | params={"nlist": 128} 44 | ) 45 | client.create_collection( 46 | collection_name=collection_name, 47 | schema=schema, 48 | index_params=index_params 49 | ) 50 | time.sleep(3) 51 | res = client.get_load_state( 52 | collection_name=collection_name 53 | ) 54 | print("load state: ", res) 55 | 56 | # Inserts vectors in the collection 57 | for i in range(len(sentences)): 58 | entities = { 59 | "id": i + 1, 60 | "text": sentences[i], 61 | "embedding_bin": np.packbits(np.where(sentences_embeddings[i] > 0, 1, 0)).tobytes() 62 | } 63 | client.insert(collection_name=collection_name, data=entities) 64 | 65 | # Single vector search 66 | # query = "阿波罗登月计划" 67 | # query = "神舟五号 杨利伟" 68 | query = "北京航天城" 69 | query_embedding = get_embedding([query]) 70 | embedding_bin = np.packbits(np.where(np.array(query_embedding[0]) > 0, 1, 0)).tobytes() 71 | 72 | start_time = time.time() 73 | res = client.search( 74 | collection_name=collection_name, 75 | data=[embedding_bin], 76 | limit=3, 77 | search_params={"metric_type": "JACCARD", "params": {"nprobe": 128}}, 78 | output_fields=['text'] 79 | ) 80 | print(f"cost time: {(time.time() - start_time) * 1000:.2f} ms") 81 | 82 | # Convert the output to a formatted JSON string 83 | result = json.dumps(res, indent=4, ensure_ascii=False) 84 | print(result) 85 | 86 | -------------------------------------------------------------------------------- /src/quantization/milvus_db_init.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: milvus_db_init.py 4 | # @time: 2024/7/11 11:30 5 | import json 6 | import os 7 | import time 8 | import numpy as np 9 | from pymilvus import MilvusClient, FieldSchema, CollectionSchema, DataType 10 | 11 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 12 | corpus_embeddings = np.load(os.path.join(project_dir, "data/corpus_openai_embedding.npy")) 13 | print(corpus_embeddings.shape) 14 | with open(os.path.join(project_dir, 'data/doc_qa_test.json'), 'r', encoding='utf-8') as f: 15 | corpus_list = list(json.loads(f.read())['corpus'].values()) 16 | 17 | collection_name_list = ["semi_conductor", "semi_conductor_sq8", "semi_conductor_bin"] 18 | dtype_list = [DataType.FLOAT_VECTOR, DataType.FLOAT_VECTOR, DataType.BINARY_VECTOR] 19 | schema_list = [{"index_type": "IVF_FLAT", "metric_type": "IP"}, 20 | {"index_type": "IVF_SQ8", "metric_type": "L2"}, 21 | {"index_type": "BIN_FLAT", "metric_type": "JACCARD"} 22 | ] 23 | 24 | # Connects to a server 25 | client = MilvusClient(uri="http://localhost:19530", db_name="default") 26 | # List all collection names 27 | collections = client.list_collections() 28 | print("exist collections: ", collections) 29 | 30 | for i, collection_name in enumerate(collection_name_list): 31 | # create collection if not exists 32 | if collection_name not in collections: 33 | # Creates a collection 34 | fields = [ 35 | FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=False), 36 | FieldSchema(name="text", dtype=DataType.VARCHAR, max_length=1000), 37 | FieldSchema(name="embedding", dtype=dtype_list[i], dim=1536) 38 | ] 39 | schema = CollectionSchema(fields, "text search demo") 40 | index_params = client.prepare_index_params() 41 | index_params.add_index( 42 | field_name="embedding", 43 | index_type=schema_list[i]["index_type"], 44 | metric_type=schema_list[i]["metric_type"], 45 | params={"nlist": 128} 46 | ) 47 | client.create_collection( 48 | collection_name=collection_name, 49 | schema=schema, 50 | index_params=index_params 51 | ) 52 | time.sleep(3) 53 | res = client.get_load_state( 54 | collection_name=collection_name 55 | ) 56 | print("load state: ", res) 57 | 58 | # Inserts vectors in the collection 59 | if i < 2: 60 | entities = [ 61 | {"id": j + 1, 62 | "text": corpus_list[j], 63 | "embedding": corpus_embeddings[j]} 64 | for j in range(corpus_embeddings.shape[0]) 65 | ] 66 | else: 67 | entities = [ 68 | {"id": j + 1, 69 | "text": corpus_list[j], 70 | "embedding": np.packbits(np.where(corpus_embeddings[j] > 0, 1, 0)).tobytes()} 71 | for j in range(corpus_embeddings.shape[0]) 72 | ] 73 | client.insert(collection_name=collection_name, data=entities) 74 | -------------------------------------------------------------------------------- /src/utils/make_ft_embedding_corpus.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # @place: Pudong, Shanghai 3 | # @file: make_ft_embedding_corpus.py 4 | # @time: 2024/6/6 16:56 5 | import os 6 | from llama_index.legacy.finetuning import ( 7 | generate_qa_embedding_pairs 8 | ) 9 | from llama_index.llms.openai import OpenAI 10 | from llama_index.core import SimpleDirectoryReader 11 | from llama_index.core.node_parser import SentenceSplitter 12 | from dotenv import load_dotenv 13 | 14 | load_dotenv() 15 | 16 | project_dir = os.path.dirname(os.path.abspath(__file__)).split('/src')[0] 17 | 18 | TRAIN_FILES = [os.path.join(project_dir, "data/ft_train.txt")] 19 | VAL_FILES = [os.path.join(project_dir, "data/ft_test.txt")] 20 | 21 | TRAIN_CORPUS_FPATH = os.path.join(project_dir, "data/ft_train_corpus.json") 22 | VAL_CORPUS_FPATH = os.path.join(project_dir, "data/ft_val_corpus.json") 23 | 24 | 25 | def load_corpus(files, verbose=False): 26 | if verbose: 27 | print(f"Loading files {files}") 28 | 29 | reader = SimpleDirectoryReader(input_files=files) 30 | docs = reader.load_data() 31 | if verbose: 32 | print(f"Loaded {len(docs)} docs") 33 | 34 | parser = SentenceSplitter(chunk_size=250, chunk_overlap=0) 35 | nodes = parser.get_nodes_from_documents(docs, show_progress=verbose) 36 | 37 | if verbose: 38 | print(f"Parsed {len(nodes)} nodes") 39 | 40 | return nodes 41 | 42 | 43 | train_nodes = load_corpus(TRAIN_FILES, verbose=True) 44 | val_nodes = load_corpus(VAL_FILES, verbose=True) 45 | 46 | llm = OpenAI(model="gpt-3.5-turbo", api_key=os.getenv("OPENAI_API_KEY")) 47 | 48 | qa_generate_prompt_tmpl = """\ 49 | Context information is below. 50 | 51 | --------------------- 52 | {context_str} 53 | --------------------- 54 | 55 | Given the context information and not prior knowledge. 56 | generate only questions based on the below query. 57 | 58 | You are a Professor. Your task is to setup \ 59 | {num_questions_per_chunk} questions for an upcoming \ 60 | quiz/examination in Chinese. The questions should be diverse in nature \ 61 | across the document in Chinese. The questions should not contain options, not start with Q1/ Q2. \ 62 | Restrict the questions to the context information provided. 63 | """ 64 | 65 | train_dataset = generate_qa_embedding_pairs(nodes=train_nodes, llm=llm, num_questions_per_chunk=1, qa_generate_prompt_tmpl=qa_generate_prompt_tmpl) 66 | val_dataset = generate_qa_embedding_pairs(nodes=val_nodes, llm=llm, num_questions_per_chunk=1, qa_generate_prompt_tmpl=qa_generate_prompt_tmpl) 67 | 68 | train_dataset.save_json(TRAIN_CORPUS_FPATH) 69 | val_dataset.save_json(VAL_CORPUS_FPATH) 70 | 71 | """ 72 | Output: 73 | 74 | Loading files ['/Users/admin/PycharmProjects/embedding_model_exp/data/ft_train.txt'] 75 | Loaded 1 docs 76 | Parsing nodes: 100%|██████████| 1/1 [00:00<00:00, 23.54it/s] 77 | Parsing nodes: 0%| | 0/1 [00:00 None: 71 | super().__init__() 72 | self.top_k = top_k 73 | 74 | def _retrieve(self, query: QueryType) -> List[NodeWithScore]: 75 | query = QueryBundle(query) if isinstance(query, str) else query 76 | # vector search using Milvus 77 | query_embedding = query_embedding_dict[query.query_str].tolist() 78 | res = client.search( 79 | collection_name="semi_conductor", 80 | data=[query_embedding], 81 | limit=self.top_k, 82 | search_params={"metric_type": "IP", "params": {}}, 83 | output_fields=['text'] 84 | ) 85 | 86 | result = [] 87 | for data in res[0]: 88 | text = data['entity']['text'] 89 | node_with_score = NodeWithScore( 90 | node=TextNode( 91 | text=text, 92 | id_=corpus_id_dict[text], 93 | score=data['distance'] 94 | ) 95 | ) 96 | result.append(node_with_score) 97 | 98 | return result 99 | 100 | 101 | # Embedding SQ8 Retriever 102 | class EmbeddingSQ8Retriever(BaseRetriever): 103 | def __init__(self, top_k) -> None: 104 | super().__init__() 105 | self.top_k = top_k 106 | 107 | def _retrieve(self, query: QueryType) -> List[NodeWithScore]: 108 | query = QueryBundle(query) if isinstance(query, str) else query 109 | # vector search using Milvus 110 | query_embedding = query_embedding_dict[query.query_str].tolist() 111 | res = client.search( 112 | collection_name="semi_conductor_sq8", 113 | data=[query_embedding], 114 | limit=self.top_k, 115 | search_params={"metric_type": "L2", "params": {"nprobe": 8}}, 116 | output_fields=['text'] 117 | ) 118 | 119 | result = [] 120 | for data in res[0]: 121 | text = data['entity']['text'] 122 | node_with_score = NodeWithScore( 123 | node=TextNode( 124 | text=text, 125 | id_=corpus_id_dict[text] 126 | ), 127 | score=data['distance'] 128 | ) 129 | result.append(node_with_score) 130 | 131 | return result 132 | 133 | 134 | # binary embedding retriever 135 | class EmbeddingBinRetriever(BaseRetriever): 136 | def __init__(self, top_k) -> None: 137 | super().__init__() 138 | self.top_k = top_k 139 | 140 | def _retrieve(self, query: QueryType) -> List[NodeWithScore]: 141 | query = QueryBundle(query) if isinstance(query, str) else query 142 | # vector search using Milvus 143 | query_embedding = np.packbits(np.where(np.array(query_embedding_dict[query.query_str]) > 0, 1, 0)).tobytes() 144 | res = client.search( 145 | collection_name="semi_conductor_bin", 146 | data=[query_embedding], 147 | limit=self.top_k, 148 | search_params={"metric_type": "JACCARD", "params": {}}, 149 | output_fields=['text'] 150 | ) 151 | 152 | result = [] 153 | for data in res[0]: 154 | text = data['entity']['text'] 155 | node_with_score = NodeWithScore( 156 | node=TextNode( 157 | text=text, 158 | id_=corpus_id_dict[text], 159 | score=data['distance'] 160 | ) 161 | ) 162 | result.append(node_with_score) 163 | 164 | return result 165 | 166 | 167 | if __name__ == '__main__': 168 | # dict: key: embedding name, value: its retriever 169 | embedding_name = "embedding_bin" 170 | embedding_retriever_dict = {"embedding": EmbeddingRetriever, 171 | "embedding_sq8": EmbeddingSQ8Retriever, 172 | "embedding_bin": EmbeddingBinRetriever} 173 | custom_embedding_retriever = embedding_retriever_dict[embedding_name] 174 | 175 | # evaluation experiment 176 | doc_qa_dataset = EmbeddingQAFinetuneDataset.from_json(os.path.join(project_dir, "data/doc_qa_test.json")) 177 | metrics = ["mrr", "hit_rate"] 178 | evaluation_name_list = [] 179 | evaluation_result_list = [] 180 | cost_time_list = [] 181 | for top_n in [3, 5, 10]: 182 | start_time = time.time() 183 | embedding_retriever = custom_embedding_retriever(top_k=top_n) 184 | embedding_retriever_evaluator = RetrieverEvaluator.from_metric_names(metrics, retriever=embedding_retriever) 185 | embedding_eval_results = asyncio.run(embedding_retriever_evaluator.aevaluate_dataset(doc_qa_dataset, 186 | show_progress=True)) 187 | evaluation_name_list.append(f"{embedding_name}_top_{top_n}_eval") 188 | evaluation_result_list.append(embedding_eval_results) 189 | cost_time_list.append((time.time() - start_time) * 1000) 190 | print(f"done for top_{top_n} {embedding_name} evaluation!") 191 | 192 | df = display_results(evaluation_name_list, evaluation_result_list) 193 | df['cost_time'] = cost_time_list 194 | print(df.head()) 195 | csv_save_path = os.path.join(project_dir, 196 | f"data/eval_{embedding_name}_{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}.csv") 197 | df.to_csv(csv_save_path, encoding="utf-8", index=False) 198 | -------------------------------------------------------------------------------- /data/ft_test.txt: -------------------------------------------------------------------------------- 1 | 据相关机构统计,2022年全球半导体设备销售额为1076.5亿美元,同比增长4.9%。其中,中国大陆销售额为282.7亿美元,同比下降4.6%;中国台湾地区销售额为268.2亿美元,同比增长7.5%;韩国销售额为215.1亿美元,同比下降13.9%;北美销售额为104.8亿美元,同比增长37.7%;日本销售额为83.5亿美元,同比增长7.0%;欧洲销售额为62.8亿美元,同比增长93.2%。 2 | 半导体行业的寒风在继续吹。 3 | 4 | 5 | 6 | 对芯片公司来说,第三季度财报季将是一个艰难的季度。消费终端的急剧下滑继续困扰着行业厂商,而对工业、数据中心、汽车和其他应用芯片市场的担忧也开始加剧。 7 | 8 | 9 | 10 | 11 | 12 | 费城半导体指数 13 | 14 | 15 | 16 | 截至27日早盘,费城半导体指数(SOX)相较年初累计下跌了42%,几乎是同期标普500指数跌幅的两倍,半导体股似乎正在触底。但值得注意的是,随着半导体行业成为太平洋两岸的热门争端,这波下行趋势可能还没有结束。 17 | 18 | 19 | 20 | Future Horizons表示,半导体行业正走向自2000年互联网泡沫以来最大的衰退,也是芯片制造历史上最大的衰退之一。 21 | 22 | 23 | 24 | 行业巨头陆续发布的财报也不太可能扭转这种情绪。近期,随着半导体大厂最新财报纷纷出炉,我们来看看半导体产业链正在释放哪些信号?以及如何看待半导体行业未来走势。 25 | 26 | 27 | 28 | 一、吞下消费市场苦果 29 | 30 | 31 | 32 | 1. 英特尔:业绩承压,裁员进行时 33 | 34 | 35 | 36 | 10月27日美股盘后,英特尔公布了2022财年第三季度财报。报告显示,英特尔第三季度营收为153.38亿美元,同比下降20%;净利润10.19亿美元,同比下降85%。 37 | 38 | 39 | 40 | 英特尔CEO帕特・基辛格在财报电话会上称,预计经济不确定会一直持续至2023年,并计划在2023年削减30亿美元,直到2025年前英特尔将削减多达100亿美元的成本。基辛格表示,这些举措将影响员工人数。 41 | 42 | 43 | 44 | 各主要部门中,英特尔销售个人电脑芯片的平台计算部门营收同比降低17%至81.2亿美元,显示个人电脑需求降低。Gartner此前报告显示,第三季度全球PC出货量同比下降19.5%,创下20多年来的最大降幅。 45 | 46 | 47 | 48 | 可见,个人电脑和服务器芯片销售疲软拖累业绩,英特尔业绩承压,将采取裁员等措施削减成本。 49 | 50 | 51 | 52 | 在芯片工艺节点上,英特尔计划继续推动制程工艺更新,在4年内完成5代制程更新,也就是从今年到2025年这4年,要搞定从英特尔7纳米(Intel 7)到Intel 18A的这5代工艺。财报显示,英特尔4纳米(Intel 4)工艺预计将于2022年第四季度进入量产。此外,英特尔3纳米(Intel 3)及以下两代工艺的推进亦均符合计划。 53 | 54 | 55 | 56 | 2. 英伟达&AMD:库存压力骤增,大幅下调财务预测 57 | 58 | 59 | 60 | 英特尔之外,包括AMD、英伟达等厂商均已警告PC市场紧缩,库存压力骤增,并大幅下调财务预测。 61 | 62 | 63 | 64 | 前不久,AMD公布第三季度初步业绩显示远低于此前公布的财测。AMD预计,第三季度营收约为56亿美元,较此前营收展望数字下调约10亿美元。同时,AMD预计第三季度毛利润下降。 65 | 66 | 67 | 68 | 对此,资本市场看作半导体行业下滑较预期更为严重的征兆。AMD CEO苏姿丰在随后的声明中表示,公司业绩低于预期的主要原因是“个人电脑市场在本季度显著疲软以及供应链上的库存积压,使得处理器出货量减少”。 69 | 70 | 71 | 72 | AMD将在11月1日召开的财报电话会议上正式公布三季度的财务数据,并分享未来的发展路线和规划。 73 | 74 | 75 | 76 | 这不仅仅只是AMD的问题,截至发稿前,英伟达最新季度的业绩还未披露。不过遭遇PC需求大减和矿潮消失双重夹击,显然情势不妙。 77 | 78 | 79 | 80 | 今年8月,英伟达公布了创最差季度表现的Q2业绩以及大幅低于市场预期的Q3指引。 81 | 82 | 83 | 84 | 与不少同行一样,英伟达面临的困难正从供应短缺转变为未售产品库存快速膨胀。英伟达需要面对材料和产品制造预付款问题,与此同时由于市场需求下降,导致芯片库存水平不断攀升。 85 | 86 | 87 | 88 | 对于公司发展,英伟达创始人黄仁勋表示:“我们正在一个充满挑战的宏观环境中进行供应链转型,我们将渡过难关。”英伟达表示,宏观经济低迷的影响还将持续,公司已经与游戏合作商采取行动,调整渠道价格和库存。 89 | 90 | 91 | 92 | 3. 高通&联发科:谨慎管理库存 93 | 94 | 95 | 96 | 此外,高通和联发科受到智能手机出货量的影响,分别下调了盈利预期/业绩年增率幅度。 97 | 98 | 99 | 100 | 高通管理层在电话会议上表示,经济前景转弱促使该公司下调了第三财季盈利预期。预计第四财季的营收将达到110~118亿美元之间,低于分析师普遍预期的119亿美元。 101 | 102 | 103 | 104 | 联发科也于此前的法说会上下调了今年业绩年增率幅度,由原先估计的二成,修正为17%~19%之间。摩根大通表示,由于中国大陆智能手机需求不振,安卓供应链持续面临庞大的库存压力,主要的芯片供应商联发科不能例外,预计第三季度营收环比下降9%,第四季度再环比下降8%。 105 | 106 | 107 | 108 | 联发科首席执行官蔡力行在说明会上表示,近几个月高通胀影响消费者信心,总体经济的挑战增加了市场需求的不确定性,也导致芯片需求的下降。因此,我们观察到客户及其销售渠道已开始积极调整库存,预期2~3季内都还会持续调整。联发科会谨慎管理库存、成本及费用。 109 | 110 | 111 | 112 | 小结 113 | 114 | 115 | 116 | 综合来看,无论是当前市场风向,还是行业公司的财务数据和预期来看,现阶段包括智能手机、PC在内的消费市场仍然非常不景气,市场需求不振。这是由大经济形势所决定的,在短期内这种状况难以扭转。 117 | 118 | 119 | 120 | 从目前局势来看,除了消费电子市场,数据中心或也将成为影响上述厂商业绩的因素,瑞穗、花旗等多家研究机构都因为担心全球经济疲软导致数据中心销售放缓,而下调了英伟达、英特尔、AMD等厂商的业绩/盈利预期。 121 | 122 | 123 | 124 | 二、存储厂商:半导体风向标,持续向下 125 | 126 | 127 | 128 | 作为行业风向标,存储芯片市场自然也感受到了产业“寒气”,消费市场需求疲软是冲击存储芯片的最大因素之一。 129 | 130 | 131 | 132 | 据TrendForce统计数据,第三季度用于个人电脑的DRAM产品价格同比下跌13%-20%,服务器、手机、显卡的DRAM产品价格跌幅也在10%~15%;NAND产品价格第三季度同比下跌13%~18%,预计存储器产品价格跌幅在第四季度还会扩大。 133 | 134 | 135 | 136 | 1. 三星:市场下行,持续投资 137 | 138 | 139 | 140 | 据三星电子初步统计,今年第三季度的销售额为76万亿韩元,营业利润为10.8万亿韩元,销售额同比增加了2.7%,创下了历史第三季度的最高纪录,但营业利润却同比减少31.7%,也打断了两年多来一路向前的态势。 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 对此,三星表示:“在持续的宏观不确定性下,客户库存调整规模超出市场预期,消费品需求持续走弱,因此增长未能达到预期,销售利润下降。” 149 | 150 | 151 | 152 | 此外,据韩国经济新闻报道,受全球经济萧条的影响,半导体、智能手机、电视等终端需求减少是三星电子业绩不振的主要原因,尤其是占三星电子营业利润70%的半导体部门停滞不前,给三星带来很大影响。 153 | 154 | 155 | 156 | 与同行不同的是,三星在减产或资本支出方面采取了谨慎的态度。在新闻发布会上,三星联合首席执行官兼半导体业务负责人Kyung Kye-hyun表达了悲观的态度,称随着全球经济放缓和企业收紧支出,芯片行业已进入下行周期并面临各种挑战。“我看不到下半年和明年的良好势头......但我们将努力把这场危机变成一个好机会,为了实现这一目标,无论经济形势如何,投资都至关重要,减产不在讨论范围之内。” 157 | 158 | 159 | 160 | 因为一旦市场复苏,在低迷时期投资不足可能会损害业务。 161 | 162 | 163 | 164 | 2. SK海力士:电子需求前景悲观 165 | 166 | 167 | 168 | SK海力士在第三季度利润因存储芯片需求暴跌而下降60%后,表示将把明年的资本支出削减一半。 169 | 170 | 171 | 172 | SK海力士近日发出警告称,随着个人电脑和智能手机的出货量下降,内存行业面临“前所未有的”市场恶化。其大幅削减证实了在面临潜在衰退的情况下,人们对电子需求前景越来越悲观。 173 | 174 | 175 | 176 | SK海力士表示,专家预测半导体市场将从2024年开始复苏,并在2025年反弹,与过去几年相比,业务的周期性波动性将降低。 177 | 178 | 179 | 180 | 3. 美光科技:资本支出缩减30% 181 | 182 | 183 | 184 | 存储产业的低迷也给美光科技带来了不小的影响。上月底,美光科技预计下一季度的营收约为42.5亿美元,远低于分析师60亿美元的平均预期。 185 | 186 | 187 | 188 | 美光首席执行官Sanjay Mehrotra在与分析师的电话会议上表示,尽管内存市场在未来十年内仍有望强劲增长,但美光正在放缓生产支出以减少短期供应,预计2023财年的资本支出将缩减30%。 189 | 190 | 191 | 192 | 但美光科技也在有条不紊的进行扩产动作,几乎斥资1000亿美元在纽约新建一家生产DRAM的工厂。“我们将在本世纪下半叶需要新的DRAM制造能力,因此现在必须做出有关投资和开工建设的决定,以满足本世纪下半叶对内存不断增长的需求,”Mehrotra说到。 193 | 194 | 195 | 196 | 除了上述三巨头外,上周日本铠侠公司表示,将从10月开始将其NAND闪存产量削减约30%,以更好地管理生产和销售。 197 | 198 | 199 | 200 | 小结 201 | 202 | 203 | 204 | 当前来看,内存芯片的流行热潮正在暂停。 205 | 206 | 207 | 208 | 最近几个月的价格下跌导致包括三星、SK海力士、美光在内的内存厂商发布了严峻的预测,以及承诺削减产能的计划,担心供应过剩情况会恶化。业内专家和行业分析师认为价格下跌要到明年年中才会触底或者放缓。 209 | 210 | 211 | 212 | TrendForce表示,随着库存过剩的增加,这两种内存芯片的价格预计将在第四季度和明年全年逐季下降,2023年底将持平或降至最低。 213 | 214 | 215 | 216 | 其实存储市场低迷情况很早就已出现,但是彼时的大厂们选择逆势扩产,《存储大厂又一次豪赌》一文中从市场角度和战略两个层面解释了原因,市场层面:结构性紧缺,试图抢占先机;战略层面:“反周期”操作,决胜新一轮周期回转。 217 | 218 | 219 | 220 | 然而如今局势已经出现大逆转,存储厂商开始争相减产,很大原因或许在于他们认为市场短期内不会从低迷中复苏,减产可以加快解决内存供需不平衡的问题,同时也可以为下一次好转提供动力。 221 | 222 | 223 | 224 | 三、模拟赛道:相继破防 225 | 226 | 227 | 228 | 1. TI:终端疲软下,高库存战略 229 | 230 | 231 | 232 | 美国模拟芯片巨头德州仪器(TI)第三季度财报显示,季度营收为52.41亿美元,同比增长13%,好于华尔街分析师预期的51.4亿美元;净利润为22.95亿美元,同比增长18%。然而,德州仪器预计第四季度财务或将不及预期。 233 | 234 | 235 | 236 | 在供应紧张和高需求引发的芯片行业经历了两年的繁荣之后,由于受通胀打击的需求而导致库存膨胀的个人电子产品制造商和零售商削减了芯片订单,因此陷入低迷。 237 | 238 | 239 | 240 | 在财报电话会议上,TI 表示第三季度取消订单的数量有所增加。目前的需求下降是否只是客户削减库存以减少库存,还是对经济存在更深层次的担忧,目前尚无定论。 241 | 242 | 243 | 244 | TI董事长兼CEO Rich Templeton称:“我们正在经历消费电子需求疲软,三季度个人消费类芯片营收环比降低了15%左右。当前这种态势也在向整个工业领域扩散。” 245 | 246 | 247 | 248 | TI表示,车用芯片市场需求仍然强劲,营收环比增长约10%;通信设备芯片营收同比增长大于5%;包括数据中心在内的企业级系统芯片营收环比增长5%左右。预计,除汽车市场外,大部分终端市场芯片需求将在四季度环比下降。 249 | 250 | 251 | 252 | 但与大多数行业公司不同,TI没有计划减少资本支出或减缓新工厂的建设。德州仪器80%的芯片在自己的工厂生产,且正在扩大这一业务范围,以满足终端市场对芯片需求增长的长期趋势。 253 | 254 | 255 | 256 | 德州仪器CFO Rafael Lizard解释称,由于德州仪器的芯片用途广泛,且生命周期长达数十年,甚至在库房中也可保存十年之久,因此绝大部分德州仪器的芯片库存风险非常低,保证更多的库存“潜在优势非常高”,这也是公司在目前芯片周期中更愿意保持高库存的原因。 257 | 258 | 259 | 260 | 据了解,德州仪器的库存仍在增加,本季度增加了8天达到了133天,这是一个巨大的飞跃。因为其高库存的负面影响很小,因此致力于在周期转向时却有巨大的上涨空间。 261 | 262 | 263 | 264 | 2. 英飞凌:汽车芯片需求强劲 265 | 266 | 267 | 268 | 今年8⽉,英⻜凌公布了2022财年第三季度的营收,达36.18亿欧元,同比增长33%,季增10%,毛利率为43.2%。 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 英⻜凌⾸席执行官Jochen Hanebeck表⽰,在艰难的宏观经济环境下,英⻜凌凭借差异化的产品组合继续保持良好势头。 277 | 278 | 279 | 280 | 虽然近几个季度用于消费电子应用的半导体市场出现显著下滑,但英飞凌将受惠于通信基础设施、数据中心和云端运算的持续性高水位投资。 281 | 282 | 283 | 284 | 此外,在短期表现上,英飞凌提到市场对汽车芯片的需求仍然十分强劲。例如,由于代工厂车规CMOS产能仍然紧张,2023年英飞凌汽车微处理器MCU的供需还不能恢复到均衡状态。英飞凌预计从今年年底到明年上半年,包括中国在内的世界各主要地区汽车生产商不会放缓汽车生产。 285 | 286 | 287 | 288 | 3. ADI:车用芯片占比提升 289 | 290 | 291 | 292 | 在半导体市场起起落落中,ADI也发出了市场需求不如预期的警告。即使ADI 2022财年第三季的业绩出色,第四季财测也符合市场预期,但其还是在最新财报中指出“经济不确定性开始影响订单,并补充需求持续超过供应,导致积压订单增加”。 293 | 294 | 295 | 296 | ADI财务报表显示出业务发展的方向,二季度其工业应用芯片销售额营收占比自一年前的 59%降至51%,而车用芯片销售额营收占比自16%提升至21%。排除大环境的影响,最火热的汽车电子所带来的车用芯片需求,不仅仅包括电动车本身,也会成为模拟芯片大厂的发展重点。 297 | 298 | 299 | 300 | 4. ST:销售增长放缓 301 | 302 | 303 | 304 | 意法半导体(ST)日前发布2022年第三季度财报,当季实现营业收入43.2亿美元,同比增长35.2%,环比上季增长12.6%,超出市场预期。 305 | 306 | 307 | 308 | 分业务板块看,ST汽车及分立器件事业群(ADG)营收环比增长7.5%,而模拟、MEMS和传感器事业群(AMS)当季营收环比增长则达到23.7%。 309 | 310 | 311 | 312 | 展望四季度业绩,公司给出的前瞻指引为营收44亿美元,毛利率约47.3%,营收环比增速仅为1.8%,ST解释称,由于对全球经济衰退和电子产品需求下降的担忧日益加剧,预计今年下半年的销售增长将放缓。 313 | 314 | 315 | 316 | 5. 瑞萨电子:延伸产业链布局 317 | 318 | 319 | 320 | 瑞萨电子日前公布截至2022年9月30日季度财报,当季实现营收3876亿日元,营业利润1179亿日元,同比增长50%,环比上季增长2.8%。 321 | 322 | 323 | 324 | 瑞萨CEO Hidetoshi Shibata前瞻下季业绩时表示,“PC和移动设备的疲软现在正在扩展到更多外围设备市场,尽管汽车电子业务需求仍然坚挺,但IoT芯片业务正在走弱。” 325 | 326 | 327 | 328 | 瑞萨预计,随着需求放缓,公司传统产品在今年第四季度和明年一季度库存将暂时增加。 329 | 330 | 331 | 332 | 对此,瑞萨电子进一步延伸产业链布局。 333 | 334 | 335 | 336 | 一方面,瑞萨电子在强项的汽车领域纵向深入,日前宣布完成对4D成像雷达设计公司Steradian Semiconductors Private Limited的收购,拓展汽车产品组合;另一方面,在汽车板块之外,瑞萨电子在工业、基础设施和物联网等领域多面出击,寻找新蓝海。 337 | 338 | 339 | 340 | 小结 341 | 342 | 343 | 344 | 在消费电子节节败退的当下,汽车似乎成为了芯片厂商的“拯救者”。对于模拟芯片来说,从车身、仪表、底盘,到动力总成及ADAS,其在汽车各个部分均有应用。汽车电子甚至已经成为了模拟芯片第二大下游应用场景,预计2022年专用型模拟芯片市场份额占比达到16.6%,市场规模同比增长17%。 345 | 346 | 347 | 348 | 349 | 350 | 图源:天风证券研究所 351 | 352 | 353 | 354 | 面对市场颓势,虽然模拟厂商也撑不住了,但当芯片整体产业大热时,模拟芯片市场就已经走在了前列,而在半导体产业整体持续萎靡的今年,模拟芯片更是展现出了相比其他赛道更优越的“抗跌”特性。 355 | 356 | 357 | 358 | 四、晶圆代工厂,寻找新曲线 359 | 360 | 361 | 362 | 1. 台积电:逆势增长,未来谨慎 363 | 364 | 365 | 366 | 截至今年9月30日的第三季度中,台积电营收6131.4亿新台币,同比增长47.9%;净利润为2808.7亿新台币,同比增长了79.7%,环比也分别取得了两位数的增长趋势。 367 | 368 | 369 | 370 | 在营收结构方面,先进制程芯片在台积电营收中的占比进一步扩大。7nm以上“先进制程”芯片贡献了总营收的54%,其中7nm芯片占比26%,5nm芯片占比28%,首次超越了7nm芯片的营收比例。 371 | 372 | 373 | 374 | 第三季度中,高性能计算与智能手机业务分别贡献了39%、41%的营收。台积电以往“一超多强”的营收结构模式已经发生了变化,高性能计算已经成长为了与智能手机齐头并进的重要业务板块。 375 | 376 | 377 | 378 | 台积电逆势增长的三季度财报令人感叹晶圆代工的火热,近些年晶圆代工的地位节节攀升,在产业中大受关注,也使得台积电能够“拳打”三星,脚踢“英特尔”,登上半导体公司龙头的宝座。 379 | 380 | 381 | 382 | 可即便如此,面对高通胀的压力、前景不明的经济局面,台积电依旧大幅下修了投资目标,从年初计划的440亿美元下调至360 亿美元,下调幅度超过18%。 383 | 384 | 385 | 386 | 台积电副总裁兼首席财务官黄文德在第三季度财报发布后也表示,终端市场的需求正在减弱,客户正在持续调整库存,预计第四季度难以维持这样的增长。但台积电在5nm制程上的领导地位使其订单没有受到这种趋势的太大影响。 387 | 388 | 389 | 390 | 综合考虑,台积电预测认为第四季度业绩将与本季度大致持平,明年包括台积电在内的芯片行业都将迎来萧条,台积电将会对未来的需求表现的“更加谨慎”。 391 | 392 | 393 | 394 | 近日,台积电总裁魏哲家表示,过去三年因疫情而加速数字转型及5G和AI等需求带动台积电业务增长,目前生活逐渐正常化,鼓励除量产在即的3纳米及3纳米以下研发制程的相关人员休假。 395 | 396 | 397 | 398 | 2. 联电:产能利用率将下滑 399 | 400 | 401 | 402 | 联电在第三季的营收成绩仍保有相当水平,合并营收为753.9亿元,季增4.6%、年增34.9%。但联电于在法说会上表示,将资本支出从第二季的39.5亿美元调降至30亿美元。 403 | 404 | 405 | 406 | 联电总经理王石表示,资本支出下修的原因主要有两项,分别为设备的交付延迟,以及对于正在下滑的景气所做出的回应。目前与联电签署长约订单的主要客户,大部分都没有违约状况,但也坦言“的确有客户无力履行长约。” 407 | 408 | 409 | 410 | 展望第4季,王石表示该季度需求将会相当疲软,主要原因仍来自于手机、电脑的库存水位仍高,以及通膨和俄乌冲突的影响,其中手机的库存消化将可能持续至明年上半。联电毛利率将降至41%~43%,产能利用率也会下滑至90%,不景气的情况短期内仍未有回升迹象。 411 | 412 | 413 | 414 | 当“代工双雄”开始下调预期,那些首当其冲面临芯片砍单的世界先进、力积电等二线晶圆代工厂自然更不用说了。8月,世界先进将原本计划约240亿新台币的资本支出减少至230亿。 415 | 416 | 417 | 418 | 10月,力积电总经理谢再居表示,由于无尘室与机电工程人力短缺、设备交期拉长,以及伴随市况调降产能规划,将今年资本支出从15亿美元下修至8.5亿美元。 419 | 420 | 421 | 422 | 而大陆代工巨头中芯国际在第三季财报指引中披露,预计三季度销售收入环比持平到增长2%,毛利率在38%~40%之间。 423 | 424 | 425 | 426 | 中芯国际管理层表示,“目前看来,这一轮周期调整至少要持续到明年上半年,但可以确定的是,集成电路行业需求增长和全球区域化趋势不变,虽短期有调整以及面临国际问题的不确定性,但坚持本土制造的长期逻辑不变。” 427 | 428 | 429 | 430 | 小结 431 | 432 | 433 | 434 | 能够看到,面对市场下行趋势以及客户大动作修正晶圆投片订单,晶圆代工厂纷纷放缓投资/扩产进度,同时积极调整产品组合,并且开始寻找新一轮的增长赛道。 435 | 436 | 437 | 438 | 笔者在近日文章《晶圆代工厂,瞄准新赛道》中介绍了晶圆代工厂在当前趋势下,寻求新增长曲线的动态和规划。 439 | 440 | 441 | 442 | 五、写在最后 443 | 444 | 445 | 446 | 综合来看,无论是处理器企业、存储巨头、模拟和代工厂商、设备公司,还是分析机构或市场从业者,都感觉到了产业链传出的寒意。 447 | 448 | 449 | 450 | 展望未来,今年四季度,甚至到明年上半年,芯片产业需求预计都难以提升,整条供应链将持续走弱。换句话说,高库存、低需求困境将至少持续至2023年中,今年第四季业绩从终端市场到整个半导体产业链企业或将都难逃跌势。 451 | 452 | 453 | 454 | 面对下行周期,各家都做好了“过冬”的准备。 455 | 2022年4月19日晚,第142期“金融学术前沿”报告会在线上举行。本次时事报告主题是“浅谈中国半导体产业发展的困境和出路”,由复旦发展研究院金融研究中心(FDFRC)组织举办,中心主任孙立坚教授主持,报告人为孙教授研究团队成员吴云龙。本文根据报告内容、公开材料以及现场讨论,从背景、半导体行业概况、中国半导体发展、专家观点和进一步讨论等几方面展开。 456 | 457 | 458 | 459 | 01 460 | 461 | 背景 462 | 463 | 464 | 465 | 466 | 467 | 半导体产业的经济地位 468 | 469 | 2019年2月,SIA(美国半导体行业协会)宣布,仅2018年一年,芯片的销量就创下了“超过1万亿颗”的记录。华尔街日报的一份报告指出,半导体是世界第四大贸易产品,仅次于原油、成品油和汽车。半导体产业协会(Semiconductor Industry Association, SIA)公布了2021年的全球半导体市场规模,指出2021年半导体市场的出货量为1.15万亿个,交易额则高达5559亿美元,比2020年增加26.2%,创历史新高。其中,中国是半导体最大的出货市场,2021年交易金额高达1925亿美元。SIA主席John Neuffer表示,由于全球芯片短缺,去年全球半导体公司大幅提高产能来满足持续高涨的市场需求,不管是出货量或交易金额都创下历史新高,此外,由于无论现在或未来基本技术都需要芯片,未来几年市场对半导体产量需求将有显著增长。美国总统拜登曾将芯片明确称为“基础设施”,指出需求量很大的半导体芯片是新的通用货币。它们几乎是每个行业的关键组成部分,推动了全球经济。 470 | 471 | 如今,一部智能手机的计算能力已远远超过美国宇航局1969年将人类送上月球所使用的计算机,这正得益于高性能芯片的快速推广。首先,几乎所有的新兴技术,如人工智能、云计算、物联网、区块链、5G、自动驾驶、可穿戴设备等,都由其中的关键半导体组件驱动。同时,在消费电子、医疗、通信、信息安全、汽车、工业、军事航天等传统领域,半导体的应用也由来已久,半导体产业也不断为传统行业的升级赋能。毫不夸张地说,几乎没有一个现代行业离得开芯片,半导体产业是现代各行业的支柱,支撑着新兴产业的发展和传统行业的升级。 472 | 473 | 474 | 475 | 476 | 477 | 我国主要半导体产业政策 478 | 479 | 1956年,周恩来发起“向科学进军”的口号,国家发布《1956-1967科技发展远景规划》,半导体成为国家生产与国防紧急发展领域。 480 | 481 | 1982年,国务院为了加强全国计算机和大规模集成电路的领导,成立了“电子计算机和大规模集成电路领导小组”,制定了中国IC发展规划,提出“六五”期间要对半导体工业进行技术改造。 482 | 483 | 1990年,908工程启动,我国第一次对微电子产业制定国家规划。 484 | 485 | 1995年,江泽民参观了韩国三星集成电路生产线,回国后,在当年中央经济工作会议上,他用了四个字来形容差距:触目惊心。要求“砸铁卖铁”不惜代价也要将半导体产业搞上去。 486 | 487 | 2000年,国家首次制定了振兴半导体行业的产业政策,发表了“鼓励软件产业和集成电路产业发展的若干政策”,俗称“18号文件”,从国家层次把半导体产业提升到国家战略产业。科技部依次批准上海、西安、无锡、北京、成都、杭州、深圳共7个国家级IC设计产业化基地。 488 | 489 | 2001年,国务院办公厅再次发布“国务院办公厅关于进一步完善软件产业和集成电路产业发展政策有关问题的复函”,俗称“51号文件”。 490 | 491 | 2006年,“国家重大科技专项”推出,包括:“01”专项,主要针对核心电子器件、高端通用芯片及基础软件产品;“02”专项,主要针对超大规模集成电路制造装备和成套工艺。 492 | 493 | 2008年,《集成电路产业“十一五”专项规划》推出,重点建设北京、天津、上海、苏州、宁波等国家集成电路产业园。 494 | 495 | 2011年,《国务院关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知》发布,俗称“4号文件”。 496 | 497 | 2014年,《国家集成电路产业发展推进纲要》发布,正式成立“国家集成电路产业发展投资基金”,业内称“大基金”,注册资本987.20亿元。 498 | 499 | 2018年4月26日,习近平总书记来到武汉新芯集成电路制造有限公司,察看集成电路生产线,了解芯片全流程智能化制造和加快国产化进程等情况。习近平说,要实现“两个一百年”奋斗目标,一些重大核心技术必须靠自己攻坚克难。 500 | 501 | 2020年11月12日,习近平主席出席浦东开发开放30周年庆祝大会并发表演讲,强调要加强“创新引擎”,为实现2050年把中国建设成世界强国的长期目标,全力以赴实现技术自立,提出要聚焦关键领域发展创新型产业,比如半导体、生物医药、人工智能等。 502 | 503 | 504 | 505 | 02 506 | 507 | 半导体行业概况 508 | 509 | 510 | 511 | 根据应用场景的不同,半导体可以分为四个大类,分别是集成电路、分立器件、光电器件及传感器。集成电路是采用特定的制造工艺,将晶体管、电容、电阻和电感等元件以及布线互连,制作在若干块半导体晶片或者介质基片上,进而封装在一个管壳内,变成具有某种电路功能的微型电子器件。集成电路产业既是当前国际政治和经济竞争的重要砝码,也是国际竞争最激烈以及全球资源流动和配置最彻底的产业。根据WSTS数据,2020年集成电路市场规模占到了半导体市场的82%。分立器件主要包括晶体二极管、三极管、整流二极管、功率二极管、化合物二极管等,被广泛应用于消费电子、计算机及外设、网络通信、汽车电子、LED显示屏等领域。根据光电效应制作的器件称为光电器件(或光敏器件),主要包括利用半导体光敏特性工作的光电导器件,利用半导体光伏效应工作的光电池和半导体发光器件等。利用半导体性质易受外界条件影响这一特性制成的传感器,按输入信息可分为物理敏感、化学敏感和生物敏感半导体传感器三类,主要应用领域是工业自动化、家用电器、环境检测、生物工程等领域。集成电路主要分为数字集成电路和模拟集成电路,其中数字集成电路主要包括逻辑器件、储存器和微处理器。逻辑器件是进行逻辑计算的集成电路;存储器是用来存储程序和各种数据信息的记忆部件;微处理器可完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作;模拟器件是模拟电路集成在一起用来处理模拟信号的芯片,如运算放大器、模拟乘法器、锁相环、电源管理芯片等。 512 | 513 | 半导体产业链整体可以分为上游(生产支持条件)、中游(生产过程)和下游(应用场景)。半导体产业运作主要有两种模式,即IDM模式和垂直分工模式。半导体整个制造过程主要包括芯片设计、晶圆制造和封装测试三大环节。IDM模式,即由一个厂商独立完成芯片设计、制造和封装三大环节,英特尔和三星是全球最具代表性的IDM企业。另一种模式为垂直分工模式,即Fabless(无晶圆制造的设计公司)+Foundry(晶圆代工厂)+OSAT(封装测试企业)。Fabless指专注于芯片设计业务,只负责芯片的电路设计与销售,将生产、测试、封装等环节外包的设计企业,代表企业有高通、英伟达、AMD等。Foundry即晶圆代工厂,指只负责制造、封测的一个或多个环节,不负责芯片设计,可以同时为多家设计公司提供服务的企业,代表企业有台积电、中芯国际等。OSAT指专门从事半导体封装和测试的企业。 514 | 515 | 516 | 517 | 图片 518 | 519 | 图一:IDM&芯片设计全球格局 520 | 521 | 来源:IC insights 522 | 523 | 图片 524 | 525 | 图二:芯片制造全球格局 526 | 527 | 来源:IC insights 528 | 529 | 图片 530 | 531 | 图三:2021年一季度全球销量Top15半导体企业 532 | 533 | 来源:Company reports, IC insights’ strategic reviews database 534 | 535 | 536 | 537 | 03 538 | 539 | 中国半导体发展 540 | 541 | 542 | 543 | 544 | 545 | 中国半导体发展大事件回顾 546 | 547 | 1 548 | 549 | ● 550 | 551 | 起步顺利 552 | 553 | 1949年,新中国成立,开始孕育中国半导体产业。 554 | 555 | 1952年,谢希德麻省理工毕业后,归国后加入复旦物理系任教授。作为中国半导体物理学科和表面物理学科开创者和奠基人,谢先生一生传奇坎坷,被尊称为“中国半导体之母”。 556 | 557 | 1953年,半导体被列入第一次和第二次5年计划的重点科技攻关项目。同年,苏联援建的北京电子管厂(774厂)建成,一度成为中国最大、亚洲最大的晶体管厂,如今摇身变为世界显示巨头京东方(BOE)。 558 | 559 | 1956年,周恩来发起“向科学进军”的口号,国家发布《1956-1967科技发展远景规划》,半导体成为国家生产与国防紧急发展领域。同年,在黄昆、谢希德教授的主持下,中国第一个半导体班在北大创办,培养出了中国新兴半导体事业的第一批骨干。 560 | 561 | 1957年,中科院应用物理所林兰英研制成功我国第一根硅单晶、第一根无错位硅单晶、第一台高压单晶炉、第一片单异质结SOI外延材料、第一根GAP半晶、第一片双异质结SOI外延材料,为我国微电子和光电子学的发展奠定了基础。 562 | 563 | 1958年,中国第一部全面论述半导体的科学论著《半导体物理》出版,这是一部在当时全世界都可称权威的专著。 564 | 565 | 1959年,我国成功拉出硅单晶(林兰英)与高纯度多晶硅(李志坚),掀起一波中国半导体自主热潮。同年,中俄决裂。 566 | 567 | 1960年,中科院半导体所、河北半导体所(13所)正式成立。 568 | 569 | 570 | 571 | 2 572 | 573 | ● 574 | 575 | 开始落后 576 | 577 | 1965年,王守觉仿造了中国第一块硅基数字集成电路(中科院上海中国科学院上海冶金所,7个晶体管、1个二极管、7个电阻、6个电容),开创了中国集成电路产业史。 578 | 579 | 1966-1976年,文革十年,国内半导体发展受阻。北京878厂、上海无线电19厂、永川半导体所(24所前身)相继成立,并完成PMOS、NMOS、CMOS研制。 580 | 581 | 1982年,国务院为了加强全国计算机和大规模集成电路的领导,成立了“电子计算机和大规模集成电路领导小组”,制定了中国IC发展规划,提出“六五”期间要对半导体工业进行技术改造。同年,无锡742厂从东芝引进电视机集成电路生产线,这是中国第一次从国外引进集成电路技术。 582 | 583 | 1983年,国务院大规模集成电路领导小组提出集成电路要“建立南北两个基地和一个点”的发展战略,南方基地主要指上海、江苏和浙江,北方基地主要指北京、天津和沈阳,一个点指西安,主要为航天配套。 584 | 585 | 1985年,我国第一块64K DRAM在无锡742厂试制成功。 586 | 587 | 1987年,华为成立。同年,张忠谋创办台积电,美国媒体评为半导体业50年历史上最有贡献人士之一,国际媒体称他是“一个让对手发抖的人”,而台湾人则尊他为“半导体教父”,因为是他开创了半导体专业代工的先河。 588 | 589 | 590 | 591 | 3 592 | 593 | ● 594 | 595 | 希望萌芽 596 | 597 | 1990年,908工程启动,我国第一次对微电子产业制定国家规划,无锡华晶成立。然而足足7年后,华晶6英寸线才投产,但已远远失去当时巨资投建的意义,中国内地与世界半导体技术差距越拉越大。 598 | 599 | 1991年,首都钢铁公司和日本NEC公司成立合资公司——首钢NEC电子有限公司。同年,华为成立了华为集成电路设计中心(华为海思半导体的前身)。 600 | 601 | 1995年,江泽民参观了韩国三星集成电路生产线,回国后,在当年中央经济工作会议上,他用了四个字来形容差距:触目惊心。要求“砸铁卖铁”不惜代价也要将半导体产业搞上去。 602 | 603 | 1996年,909工程上马,上海华虹NEC合资成立。后经历由盈转亏,此后向台积电式foundry转型。 604 | 605 | 2000年,国家首次制定了振兴半导体行业的产业政策,发表了“鼓励软件产业和集成电路产业发展的若干政策”,俗称“18号文件”,从国家层次把半导体产业提升到国家战略产业。科技部依次批准上海、西安、无锡、北京、成都、杭州、深圳共7个国家级IC设计产业化基地。同年,中芯国际成立,张汝京登上大陆半导体晶圆代工发展的历史舞台。台湾塑料业巨头王永清之子王文洋和时任中国国家主席江泽民之子江锦恒在上海联合投资64亿美元,建设八英寸晶圆厂。 606 | 607 | 2001年,国务院办公厅再次发布“国务院办公厅关于进一步完善软件产业和集成电路产业发展政策有关问题的复函”,俗称“51号文件”。 608 | 609 | 610 | 611 | 4 612 | 613 | ● 614 | 615 | 再受挫折 616 | 617 | 2002年,“龙芯一号”研制成功,这是中国第一款商品化的批量投产的通用高性能CPU芯片。 618 | 619 | 2003年,上海交大学陈进教授宣布成功开发汉芯一号芯片;三年后,“汉芯”项目被证实为重大科研造假,彼时陈进已骗取国家数亿元科研经费。此后,交大半导体十年寂寥,这一事件也严重打击了国内发展半导体行业的信心和决心。 620 | 621 | 2005年,中星微成为首个在美国纳斯达克上市的中国芯片企业。 622 | 623 | 2006年,“国家重大科技专项”推出,包括:“01”专项,主要针对核心电子器件、高端通用芯片及基础软件产品;“02”专项,主要针对超大规模集成电路制造装备和成套工艺。 624 | 625 | 2008年,《集成电路产业“十一五”专项规划》推出,重点建设北京、天津、上海、苏州、宁波等国家集成电路产业园。同年,美国次贷危机,半导体又陷入世界级低潮期,价格战四起。 626 | 627 | 2009年,张汝京与TSMC的官司败诉,这位被中国寄予厚望的半导体灵魂人物选择了辞职离开中芯国际。同年,赵伟国担任紫光集团董事长,走了中国另一条芯片救亡之路。 628 | 629 | 2011年,《关于印发进一步鼓励软件产业和集成电路产业发展若干政策的通知》发布,俗称“4号文件”。 630 | 631 | 632 | 633 | 5 634 | 635 | ● 636 | 637 | 整装重发 638 | 639 | 2014年,《国家集成电路产业发展推进纲要》发布,正式成立“国家集成电路产业发展投资基金”,业内称“大基金”,注册资本987.20亿元。 640 | 641 | 2016年,中国集成电路产业第一次出现了制造、设计、封测三个领域都超过1000亿人民币的情况。 642 | 643 | 2017年,中国资本以49亿收购了英国芯片IP巨头Imagination。同年,AI领域掀起新一波融资高潮,AI芯片备受关注。 644 | 645 | 2018年,“中兴事件”——美国商务部宣布禁止美国公司向中兴通讯销售零部件、半导体、商品、软件和技术七年。同年,集成电路首次在政府工作报告中述及。 646 | 647 | 2019年,“华为事件”——美国商务部工业与安全局(BIS)宣布将华为及其70家附属公司列入贸易黑名单的实体清单,并在未经特别批准的情况下禁止购买重要的美国技术和其设备进入美国电信网络。同年,多家集成电路企业成为首批科创板挂牌上市企业,这些企业涵盖了集成电路设计、材料、设备、IDM等产业链环节;此外,中国两大存储厂商取得阶段性成果,中国存储器企业正式踏上全球市场竞争舞台。同年,上海交易所科创板开市,成为国内规模半导体企业上市融资的关键阵地。 648 | 649 | 2020年,美国商务部发布了针对华为的制裁新公告;此外,中国的海思半导体成为史上首次进入全球前十大半导体公司之列的企业。 650 | 651 | 652 | 653 | 国外半导体的江湖史 654 | 655 | 集成电路在美国发明之后仅仅几年,日本和韩国先后拍马赶到。 656 | 657 | 658 | 659 | 图片 660 | 661 | 图四:国外半导体政策 662 | 663 | 来源:作者自制 664 | 665 | 666 | 667 | 通过日胜美、美惩日、韩国逼退所有人的江湖历史,不难总结出半导体产业发展的精髓:坚定国家意志、引进先进技术、抓住领军人才、穿越长期亏损。 668 | 669 | 670 | 671 | 672 | 673 | 困境与出路 674 | 675 | 当前中国半导体产业主要面临以下九个发展困境: 676 | 677 | 1.技术更新迭代迅速,行业命题不断变化,积年累月形成技术天堑(20-30年); 678 | 679 | 2.半导体是需要成本收益匹配的规模经济,靠的是整个社会产业链的成熟和效率;当前国内上下游生态建设尚不成熟; 680 | 681 | 3.中国“缺芯”,缺的是高端芯片的生产能力; 682 | 683 | 4.关键技术、设备依赖(芯片设计的上游依赖ARM的IP授权,过程依赖EDA等工具,中游依赖台积电的生产代工,自主生产依赖ASML的光刻机),受制于人; 684 | 685 | 5.头部企业技术超前,护城河建立; 686 | 687 | 6.资本无底洞——投资回报期长、不确定性高,既考验国家发展半导体产业的决心,也考验资本市场参与者的胆识和远见; 688 | 689 | 7.政府盲目上马大项目,项目烂尾后资产处置不当造成进一步资源浪费; 690 | 691 | 8.高端人才极缺,难以吸引国际一流人才,稀有的人才资源分配也存在结构性问题; 692 | 693 | 9.美国接连发起贸易战、科技封锁,半导体发展的外部环境恶劣。 694 | 695 | 具体来看烂尾项目资产处置困境。2004年,总投资4.3亿美元,中国首个落户县级城市的8英寸晶圆制造项目绿山半导体在江苏海安县启动,然而因为种种原因该项目到2007年时难以为继,最终烂尾。在项目失败后,因为设备、土地有相当价值,初期不少企业有并购意愿,甚至主动问询,但由于“国有资产不能流失”等硬性限制,政府不能减值出售,交易没有达成。过了一年,设备吃了一年尘土,厂区长了一年野草,就鲜有买家上门了,地方政府再去求售已无人愿意接手了。直到2011年,该项目在江苏省产权交易所定价1.04亿元,转让100%产权。投资额巨大的晶圆制造项目在国资评估程序中,前期的实质投资与烂尾时的市场估值,往往天上地下,造成官员不敢减值处理,所以市场化的企业更难以接手。国内最大烂尾项目武汉弘芯总计划投资1280亿元,成立于2017年11月,项目方号称全面达产后预计可实现年产值600亿元,利税60亿元,直接或间接带动就业人口50000人。然而2019年11月,武汉弘芯价值的土地使用权被湖北省武汉市中级人民法院查封;2020年11月,武汉政府正式全盘接手弘芯项目,弘芯高层李雪艳、莫森等人全身而退,只给留下了一台被抵押的光刻机和未完工的晶圆厂。曾引起业内轰动的千亿项目未来将何去何从,无人知晓。时不我待,如果不能尽快处置数千亿元的烂尾项目,不仅仅厂房、设备等日渐贬值,甚至有的还需要不菲的设备维护费用、团队维持费用。 696 | 697 | 其次是人才资源分散的结构性问题。芯片人才的分散问题体现在从业者频繁换岗、从业者转行以及同领域创业者挖角三个方面。芯片是一个工程化的产业,强调时间和经验积累,需要从业者具有“匠人精神”。按照半导体行业的规律,从业者要在一线连续埋头苦干十年,才能成为某一领域的专家。很多从业者在企业工作三五年,就难以坚持,急于换岗。频繁地跳槽会导致人才的技能不成熟,继而导致产业专家的缺乏。芯片产业强调“板凳要坐十年冷”,价值实现周期较长。这导致此前部分集成电路人才选择“出走”,对高校教育和社会成本来说是一种消耗。业内就有这样的调侃:现在芯片领域什么都缺,就是不缺投资人。很多芯片投资人都有芯片从业背景,而现在投资人年轻化趋势也很明显,这也从侧面反映出芯片人才的流失态势。芯片产业还强调团队作战能力。在“宁做鸡头不做凤尾”的价值观驱使下,在科创板靓丽市值与丰厚股票回报的吸引下,部分龙头企业中层技术骨干流失加入到创业公司中。近年来,从中芯国际、紫光展锐等国内龙头企业出走的“芯片人”就不在少数。这也会导致国内整体芯片产业链竞争力的下降。以芯片设计为例,目前国内宣称有芯片设计业务的公司超一万家,其中有产品推出的有3000多家。在这些企业中,总体人数超3000的企业仅有2家,总人数超1000的仅10家左右。这和国际竞争对手相比,简直是天地之别。业内认为,较短时间内能做出性能表现不错的产品,需要在芯片产业有20-30年的深度积累,因而拿下市场还需要技术和生产能力成熟的大企业。值得注意的是,在国内芯片设计公司遍地开花的同时,国外芯片产业则在加速整合,甚至是强强联合。 698 | 699 | 700 | 701 | 702 | 703 | 出路探索 704 | 705 | 探索中国半导体产业发展困境的出路应当坚定国家意志、引进先进技术、抓住领军人才、穿越长期亏损: 706 | 707 | 1.引入先进技术(通过引入产线、学习技术或直接吸收人才); 708 | 709 | 2.加强人才培养;完善激励机制,吸引人才留在半导体行业,吸引国际人才入驻; 710 | 711 | 3.完善产业政策,或对关键领域进行扶持,帮助企业度过困难阶段,穿越长期损失(但需充分考察企业或项目的质量); 712 | 713 | 4.合理整合产业资源,避免资源分散; 714 | 715 | 5.加快建设多层次资本市场体系,完善审核、定价制度,鼓励资本进入半导体产业的同时,避免“假大空”项目进入资本市场,控制半导体估值泡沫; 716 | 717 | 6.等待机遇,抓住新的技术换挡期:5G、智能穿戴等技术革命带来的新机遇; 718 | 719 | 7.捷径:推进半导体外企本土化,即可快速引进国外先进技术、布局产线,又可绕开美国封锁。 720 | 721 | 1986年1月,正值日美国际摩擦高潮之际,身高1米60的丰田汽车公司掌门丰田章一郎抬手在北美落下一子,丰田的第一家北美独资公司(TMMK)奠基肯塔基州乔治城。日后这家公司成长为美国汽车巨人,它出产的凯美瑞车系连续18年成为美国最受欢迎车型,原创的雷克萨斯品牌成为美国名车。这个项目之所以如此成功,关键就是本土化。TMMK是一个独立实体,日本人将它作为美国公司来运营,其生产、销售甚至研发独立于日本丰田,这里造的车不仅供应美国市场,也销往全球市场。近三年,在日甚一日的自由贸易困境中,中国半导体市场出现了一种“美丽逆行”——海外半导体企业开始设立由中国大陆资本主导的合资企业,主动为中国大陆半导体企业补全供应链。譬如英国Arm、美国新思科技、美国SiFive等企业在大陆设立新型合资企业,取代之前在华分公司。新公司是内资主导、继承了外企技术血脉、拥有知识产权、股权独立的完整公司。中国是全球最大的半导体市场,几乎所有国际半导体公司都把中国视为最大、最具潜力,必须力保不失的客户。新合资模式有巨大价值,“芯谋研究”通过大量采访和分析,总结了该模式的核心特征: 722 | 723 | 1.中方资本为大股东,在中国市场能够提供更具竞争力的服务;参股外企在华营销能力被大幅提高,相较本土化之前,公司更加主动,企业营收大幅提高; 724 | 725 | 2.原来外企分公司只是在中国的成本中心(cost center),新模式麻雀虽小五脏俱全,股权架构和组织职能完整独立,有真正的研发部门,有独立开发高水平新产品的能力和意愿; 726 | 727 | 3.在中国积累很薄弱的领域,新公司在外企品牌的光环下也能够迅速发展,无论人才招聘、市场开拓、企业治理、海外并购都大获裨益,出现了此类新公司成立一两年就在各方面超过纯内资公司十几年积累的现象; 728 | 729 | 4.新公司拥有部分外企血统,此类公司在获取本土企业认同时遇到挑战,需要加强本地化,获得国民认同和国民待遇。 730 | 731 | 这正是当今世界的写照,美国在全球张扬科技霸权,达到了一些短期目的,迫使主体市场供应链分叉,但也为全球贸易体系带来巨大的额外成本,这种有违自由贸易原则的倒行逆施,必定不能长久。中国通过自由贸易团结全球科技力量,以外企本土化为突破口,让全球企业公民通过落户中国,让它们与中国深度融合,长期分享中国的发展红利。这才是重礼崇义,近悦远来的王道,必定能为中国半导体再造一条公允又安全的全球供应链,也能重新凿穿东西,打通一条新的全球化通道。 732 | 733 | 734 | 735 | 04 736 | 737 | 专家解读 738 | 739 | 740 | 741 | 台积电创办人张忠谋日前在亚太经合组织非正式会议时,对各国谋求芯片自给自足的情况发出警告。张忠谋在会议讲话时提及,芯片自给自足的趋势不仅会导致成本提升,以及技术的进步可能放缓,而且在花费了数千亿与许多年的时间之后,结果仍将是无法充分自给自足,且供应链成本非常高。对于中国芯片技术的开发,台积电创始人张忠谋表示,大陆举全国之力也造不出高端芯片;而此前,荷兰光刻机巨头ASML则说,就是给中国图纸,中国都造不出光刻机。 742 | 743 | 长鑫存储董事长兼CEO朱一明认为,我们无法承受一个支离破碎的行业所带来的后果。全球合作是半导体行业成功的最重要因素之一,世界上没有一个国家可以单独运行整个供应链。作为一个全球性的产业,我们必须团结一致,为更美好的未来而共同努力。在所有可能解决城市问题的方案背后,半导体是核心,通过使用先进的半导体技术进行数字连接,使城市的可持续发展成为可能。美国已经从中受益,而随着中韩两国对前沿技术研究的投入越来越大,这也使得知识和技术不再是单向流动,全球合作已被证明是创造经济价值和促进行业增长的最有效方式。在过去的几十年里,中国一直是全球化最关键的驱动力之一。中国中产阶级的崛起创造了巨大的市场机会,中国的转型导致其大量劳动力技能的提升,使其高等教育机构全球化,将其研究能力导向共同的全球挑战,架起了先进技术国家与发展中国家之间的桥梁,吸引更多新兴经济体进入全球市场,带动全球经济增长。 744 | 745 | 华为主要创始人兼总裁任正非认为,中国无法制造高端芯片,关键是缺少高端人才。2020年11月,华为对外公开了任正非于在C9高校校长座谈会上的讲话。在讲话中,任正非谈到了芯片问题,他说:“我们国家要重新认识芯片问题,芯片的设计当前中国已经步入世界领先……芯片产业存在什么问题呢?主要是制造设备有问题,基础工业有问题,化学制剂也有问题。”因此,他呼吁国家要重视装备制造业、化学产业。中国无法制造高端芯片,问题不在硬件层面,而是缺少高端人才。什么专业火,中国学生就上什么专业,大学就建什么专业。近几年最多的就是计算机,以前还有会计、法律也是非常多的人,反倒是工科的学生越来越少。不少学生上了研究生之后,也是跨专业到赚钱的行业去了。为什么华为的鸿蒙班设立在西北工业大学,原因在于国内某些名校的学生坐不了冷板凳,耐不住寂寞,学有小成后又跑到国外去了。任正非还提醒说,要正确认识科技创新的内涵,国内顶尖大学不要过度关注眼前工程与应用技术“卡脖子”方面的困难,要专注在基础科学研究“向上捅破天”。同时,要去除套在科学家身上急功近利的“铁链”,实现思想独立、研究自由。 746 | 747 | 中芯国际创始人张汝京也认为,下一代半导体不需要大投资,最关键是人才。张汝京说,半导体这个行业要长期投入,尤其是第三代半导体,它遵循的不是摩尔定律,而是后摩尔定律。“第三代半导体的设备不是特别贵,线宽也不是很小,投资不是很大,但材料不容易做,设计上也需要有优势。”张汝京认为在投资并不大的背景下,第三代半导体行业的发展最关键的是人才,从业人员要耐得住寂寞,经验是逐渐累积起来的。毫无疑问,中国有市场,也有投资者,更有政府的支持,但是,有没有好的团队却是一个大问题,他认为真正有经验的人在我们国内是不够的。 748 | 749 | 中国半导体行业协会副理事长、清华大学教授魏少军认为,中国成长为全球最大的半导体市场,消耗了全球约三分之一的半导体,虽然从基本面上看,中国半导体的增速是喜人的,但具体到细分领域,尤其是在一些高端芯片方面的竞争力,中国半导体的差距是相当明显的。在中低端的产品上,整体替代性比较强;但是在高端,特别微处理器和存储器上还有比较大差距。此外,我们这几年还碰到了一些天灾人祸。天灾就是新冠带来的影响,人祸就是中美关系紧张给行业带来的抑制。在当前内忧外患的环境下,如何在当中保证我们的战略定力,充分发挥我们中国庞大的优势和已有的良好基础,在未来五到十年内争取一次大的进步,这将是一个重大的课题。我们未来要以产品为中心,重新审视半导体产业的设计、制造、封测、装配和材料五大板块。过去,我们在这五大板块原来是不平衡的,在资源投入上也是不平衡的。但在未来的发展当中,我们应该特别关注这五个领域的平衡发展,这关键在于我们怎样从战略上把握。最后,中国半导体产业的发展,要尊重产业发展规律,克服急功近利的冒进发展。同时还要虚心跟美国半导体学习,加大投入。 750 | 751 | 中国工程院院士、浙江大学微纳电子学院院长吴汉明认为,我国集成电路产业面临的主要挑战是产业链太长、太宽,例如我国在装备领域,光刻机尚需攻关,在多个关键材料方面仍依赖进口。后摩尔时代技术发展趋缓,追赶者机会大。商业成功是检验技术创新的唯一标准。 752 | 753 | ADI中国区总裁Jerry Fan认为,现在是一个最好的时代,也是一个最坏的时代。坏的方面是指行业碰到了很多不确定的变化和挑战,带来了史无前例的冲击。好的方面就是现在行业中又有了很多新的技术创新的基础。在他看来,人工智能发展到今天,有很多想象的空间,我们有很多的数据、新的业务模式;我们有最新的网络、5G的连接。这些对我们所有的企业来说,提供了一些机会,那就是怎么用技术来为未来创造一种新的数字化的道路。 754 | 755 | 比亚迪半导体总经理陈刚认为,汽车半导体迎来重大发展机遇,而要发展起这个产业,就必须要掌握核心技术,这也是比亚迪半导体发力的秘诀。陈刚表示,比亚迪半导体会投入到各种车规级器件的研发。在以上占汽车半导体超60%金额和数量的三种芯片(IGBT、SiC器件、MCU)中,比亚迪半导体都取得了不错的成绩,这主要得益于他们几方面的优势:首先,比亚迪的汽车生态,为他们提供了一个更好的平台;其次,比亚迪半导体在研发的时候,都坚持做三代产品,那就是量产一代、储备一代、研发一代,这样就能让产品跟上终端的需求。 756 | 757 | 758 | 759 | 讨论 760 | 761 | 关于半导体产业。根据拜登提出的看法,半导体产业是基础设施的赛道,那么对该产业的定位就取决于要把基础设施的概念上升到什么层次去理解。任何产业没有基础设施都无法发展,如果基础设施的根基在别人手里,那就缺失了自主权,因此全球化合作的模式无法确保大国基础设施,半导体产业涉及到了大国安全的问题,这不是全球化能够解决的问题,与其他产业的性质不同。 -------------------------------------------------------------------------------- /data/ft_train.txt: -------------------------------------------------------------------------------- 1 | 受半导体行业周期“磨底”、消费电子市场需求恢复缓慢等影响,今年A股半导体行业上市公司半年度业绩预告显示,归母净利润普遍同比下滑,IC设计、封测等环节成为“重灾区”, 。环比来看,部分头部企业第二季度业绩已经企稳复苏,盈利环比增长,人工智能、汽车电子、电网等板块贡献业绩,有公司表示下半年将企稳增长。 2 | 3 |   据Choice金融终端统计,目前超过30家半导体上市公司披露业绩预告,其中,通富微电、汇顶科技、士兰微、上海贝岭、中晶科技、大为股份等公司业绩预计首亏,博通集成预亏增加,韦尔股份、瑞芯微、华天科技等公司最大降幅超过90%。相比之下,北方华创、中微公司等头部企业翻倍增长。 4 | 5 |   设计企业: 6 | 7 | 8 |   加速去库存 9 | 10 |   由于终端消费电子市场低迷,芯片设计企业上半年业绩同比普遍预降,但随着去库存推进,部分企业业绩触底企稳,并在二季度环比增长。 11 | 12 |   作为AIot(人工智能与物联网)芯片龙头,瑞芯微预计今年上半年实现营业收入约8.58亿元,同比减少约31%,归母净利润2000万元到3000万元,同比减少93%到89%。环比来看,第二季度公司营收增长约六成,归母净利润环比实现扭亏。公司表示,上半年同行业公司库存较大,产品竞争激烈,销售价格承压,同时部分晶圆成本仍在上升,以及公司增加AIoT方面研发投入,导致毛利率同比下降。 13 | 14 |   “由于2021年缺货的影响延续,2022年上半年业绩基数较高,2022年下半年基数较低。公司对下半年业绩增长有信心。”瑞芯微方面指出,公司今年面临AIoT重大机遇,仍保持高额研发投入,上半年研发费用约2.6亿元,较去年增长。 15 | 16 |   Nor Flash存储龙头兆易创新预计上半年实现归母净利润约3.4亿元,同比下降超过七成,但环比第一季度增长近三成。 17 | 18 |   指纹识别芯片龙头汇顶科技也受消费电子市场需求不振影响,上半年预计营业收入20.2亿元左右,比上年同期增长10.5%左右,归母净利润亏损约1.37亿元。不过,公司业绩环比改善,第二季度公司净利润184万元左右,实现正增长。 19 | 20 |   汇顶科技介绍,报告期内公司加快去库存的进度,存货资产减值损失的趋势已得到明显改善。公司预计今年上半存货账面余额减少7.5亿元左右,另外,公司存货资产减值损失1.75亿元左右,预计下半年度不存在大额计提存货跌价准备。此外,由于第二季度决定终止 TWS 项目的研发,相应开发支出计提减值准备导致资产减值损失2.25亿元左右。 21 | 22 |   从事无线芯片设计的博通集成预计,受终端客户需求尚未回温影响,2023年半年实现归母净利润为-6480.3万元到-4330.3万元;相比一季度,第二季度公司亏损有所缓解。 23 | 24 |   射频前端龙头卓胜微高度依赖手机市场,由于市场需求疲软,以及市场竞争格局变化,公司预计上半年营业收入16.65亿元,较去年同期下降25.48%,上半年归母净利润3.38亿元~3.76亿元,同比下降55.06%~50.01%。公司第二季度业绩环比增长。 25 | 26 |   不过,芯片设计龙头、CMOS图像传感器芯片龙头韦尔股份二季度尚未完全好转。据预计,今年上半年度实现归母净利润1.29亿元到1.93亿元,同比减少91.51%到94.34%;扣非后净亏损5250万元到8250万元,同比减少103.62%到105.68%。IDM企业士兰微也受下游普通消费电子市场景气度影响,预计上半年扣非净利润15614万元左右,同比下降约七成。 27 | 28 |   不同于消费电子市场低迷,电网等工业市场稳步增长。 29 | 30 |   作为物联网通信技术芯片设计企业,力合微预计,上半年实现营业收入2.53亿元,同比增长13.39%,归母净利润为5000万元至5300万元,同比增长57.52%至66.97%,扣非后净利润同比增长132.71%至148.57%。报告期内,电网市场持续增长,公司订单充足,对比上年同期在手订单增长50%以上,同时智慧光伏、智能家居等芯片项目也有序推进,增厚公司业绩。近期在接受机构调研时,力合微高管介绍,智能电网是一个优质的市场,市场空间较大。 31 | 32 |   封测巨头: 33 | 34 | 35 |   布局先进封装 36 | 37 |   相比其他半导体产业链环节,封装测试对市场变动比较敏感,本轮周期开始时,业绩最先出现下调。最新业绩预告显示,第二季度封测头部公司盈利环比第一季度显著增长,并且上市公司积极布局Chiplet等先进封装,高性能计算、汽车电子等业务已经驱动营收增长。 38 | 39 |   通富微电上半年实现营业收入99.09亿元左右,同比增长3.58%左右,归母净利润亏损1.7亿元至1.98亿元,其中,当期汇兑损失造成净利润减少约2.03亿元,剔除该因素,上半年公司净利润为正。通富微电介绍,全球半导体市场疲软,下游需求复苏不及预期,导致封测环节业务承压,公司传统业务亦受到较大影响。作为应对,公司调整产品布局,在高性能计算、新能源、汽车电子、存储、显示驱动等领域实现营收增长,积极推动Chiplet(芯粒)市场化应用,实现了规模性量产。 40 | 41 |   长电科技作为A股半导体封装测试龙头,第二季度业绩也环比大幅增长。业绩预告显示,今年上半年公司实现归母净利润为4.46亿元到5.46亿元,同比减少64.65%到71.08%。公司一季度实现归母净利润约1.1亿元,第二季度或实现盈利3.36亿至4.36亿元,环比一季度增长约两倍以上,公司不断投入汽车电子、工业电子及高性能计算等领域,为新一轮应用需求增长做好准备。此前,长电科技介绍,面向高算力芯片公司推出了Chiplet高性能封装技术平台XDFOI。 42 | 43 |   华天科技也预计上半年业绩下降,实现盈利5000万元~7000万元,比上年同期下降90.27%-86.38%。不过,第一季度公司亏损约1亿元,第二季度预计实现扭亏为盈。 44 | 45 |   除了人工智能带来高性能计算市场拉动,汽车电子开始逐步贡献业绩。 46 | 47 |   晶方科技预计,上半年实现净利润7000万元~8000万元,同比下降58.11%~63.35%;扣非后,公司净利润同比下降57.57%~62.22%。对比一季度盈利2857万元,公司二季度盈利环比或翻倍。 48 | 49 |   受益于汽车智能化、网联化的产业发展趋势,晶方科技持续发力车载摄像头封装、微型光学器件制造等新领域的开发拓展,相应业务规模与生产能力持续增强,但整体规模还有待进一步提升。同时,晶方科技持续推进国际先进技术与项目的协同整合,所投资的VisIC公司作为全球领先的第三代半导体GaN(氮化镓)器件设计公司,通过与国际知名汽车厂商合作,共同开发800V及以上高功率主驱动逆变器模块。由于其正处于产品开发与验证投入阶段,影响了公司的投资收益。 50 | 51 |   设备企业: 52 | 53 | 54 |   业绩翻倍增长 55 | 56 |   虽然整体半导体板块尚未走出低谷,但国产替代需求推动下,设备环节企业保持逆周期高速增长,龙头设备厂商上半年业绩翻倍增长。国家统计局最新披露,围绕着克服“卡脖子”工程,今年上半年半导体相关行业制造业增长较快,半导体器件专用设备制造业增加值增长30.9%。 57 | 58 |   作为A股半导体设备龙头,北方华创受益于公司半导体设备业务的市场占有率稳步提升及经营效率不断提高,今年上半年实现营业收入78.2亿元~89.5亿元,同比增长43.65%~64.41%,归母净利润16.7亿元~19.3亿元,比上年同期增长121.30%~155.76%。相比之下,去年上半年公司归母净利润7.55亿元,同比增长1.43倍,延续高速增长。 59 | 60 |   在2022年度业绩说明会上,北方华创高管介绍公司刻蚀、薄膜沉积、炉管及清洗设备均批量供应市场,工艺覆盖度和市占率持续提升;未来北方华创将围绕半导体基础产品领域持续加大研发投入,不断提升以客户需求为导向的创新能力。 61 | 62 |   A股半导体刻蚀设备龙头中微公司业绩也将大幅增长,公司预计2023年半年度营业收入约25.27亿元,同比增长约28.13%,实现归母净利润为9.8亿元到10.3亿元,同比增加109.49%到120.18%。另外,公司预计扣非后净利润为5亿元到5.4亿元,同比增加13.45%到22.53%。不过,第二季度扣非净利润环比微增。 63 | 64 |   据介绍,中微公司的刻蚀设备持续获得更多国内外客户的认可,关键客户市场占有率不断提高,营业收入及毛利增长。公司的MOCVD设备在新一代Mini-LED 生产线上继续保持绝对领先的地位;另外,公司在上半年出售了部分所持拓荆科技股票,产生税后净收益约4.06亿元(非经常性收益)。 65 | 66 |   万业企业陆续收购凯世通、Compart Systems,成立嘉芯半导体,持续加大集成电路在公司整体业务中的比重。公司预计上半年实现归母净利润为1.18亿元左右,同比上升316%左右,累计新增集成电路设备订单超2.4亿元,设备制造业务收入较上年同期增加约18%。据公司高管在6月业绩说明会上介绍,凯世通自主研发的低能大束流离子注入机、低能大束流重金属离子注入机、低能大束流超低温离子注入机和高能离子注入机,均已相继通过主流12英寸集成电路芯片制造工厂的验证验收。 67 | 68 |   在半导体材料产业链中,半导体硅片企业业绩同比下降。立昂微预计2023年半年度实现归母净利润1.65亿元至1.85亿元,同比减少67.21%至63.24%,其中,自去年下半年以来,受消费电子市场下滑影响,硅抛光片产能利用率下降,部分硅片产品价格有所下调,硅片业务同比去年下降约18.5%,半导体功率器件芯片业务同比下降约10%,但第二季度营收均环比实现增长,化合物半导体芯片业务同比增长约四成,公司射频芯片验证进度已基本覆盖国内主流手机芯片设计客户,在手订单同比大幅增长。 69 | 第一章 行业概况 70 | 71 | 半导体是一种电子材料,可以控制电流的流动。半导体材料的特性是在它们的禁带宽度内,只有一部分电子能够被激发而具有导电性,这使得半导体成为电子学和计算机科学中最重要的材料之一。 72 | 73 | 半导体行业是指研发、生产和销售半导体产品的公司和组织。这个行业的发展始于20世纪中叶,随着计算机、通信和消费电子市场的发展,成为了一个重要的全球产业。上游为半导体支撑业,包括半导体材料和半导体设备。中游按照制造技术分为分立器件和集成电路。 74 | 75 | 半导体行业的主要产品包括集成电路、处理器、存储器、传感器和光电子设备等。这些产品在各个领域得到广泛应用,如个人电脑、智能手机、平板电脑、汽车电子、医疗器械、工业控制等。 76 | 77 | 半导体行业的主要市场是亚洲,这些地区拥有大量的半导体制造厂和研发机构,并且在生产成本、技术创新和市场需求等方面具有优势。 78 | 79 | 半导体行业的发展面临许多挑战和机遇。随着人工智能、物联网和5G等新兴技术的普及,对更高性能和更低功耗的半导体产品的需求正在增加。同时,半导体行业也在积极应对环保和可持续发展的问题,致力于开发更环保、高效的生产技术和产品。 80 | 81 | 图 半导体产业链 82 | 83 | 图片 84 | 85 | 资料来源:资产信息网 千际投行 iFinD 86 | 87 | 图 全球半导体发展趋势 88 | 89 | 图片 90 | 91 | 资料来源:资产信息网 千际投行 92 | 93 | 制程越来越小,投资额越来越高。例如一条16nm先进制程的半导体代工厂投资额高达120-150亿美元,全球将只有Intel、台积电、三星这三家企业可以承担如此巨大的资本开支,其他企业已无力跟进,先进制造产能将快速集中。 94 | 95 | 图 全球半导体销售额 96 | 97 | 图片资料来源:资产信息网 千际投行 Choice 98 | 99 | 在半导体行业当中,半导体材料是此行业的支撑业。半导体材料是指导电率介于金属和绝缘体之间材料。半导体材料的电阻率在1mΩ•cm~1GΩ•cm之间,一般情况下其电导率随温度的升高而增大。半导体材料是制作晶体管、集成电路、光电子器件的重要材料。 100 | 101 | 按照化学组成不同,半导体材料可以分为元素半导体和化合物半导体两大类。在半导体发展过程中,一般将硅、锗元素半导体材料称为第一代半导体材料;第二代半导体为砷化镓(GaAs)、锑化铟(InSb)等化合物半导体材料;三元化合物半导体,如GaAsAl、GaAsP;还有一些固溶体半导体,如Ge-Si、GaAs-GaP;玻璃半导体(又称非晶态半导体),如非晶硅、玻璃态氧化物半导体;有机半导体,如酞菁、酞菁铜、聚丙烯腈等。第三代半导体材料主要以碳化硅(SiC)、氮化镓(GaN)、氧化锌(ZnO)、金刚石、氮化铝(AlN)为代表的宽禁带半导体材料。 102 | 103 | 图片 104 | 105 | 资料来源:资产信息网 千际投行 106 | 107 | 禁带宽度决定发射光的波长,禁带宽度越大发射光波长越短;禁带宽度越小发射光波长越长。其它参数数值越高,半导体性能越好。电子迁移速率决定半导体低压条件下的高频工作性能,饱和速率决定半导体高条件下的高频工作性能。从表中可以看出,以GaN为代表的宽禁代半导体在大功率、高温、高频、高速和光电子应用方面远比Si和GaAs等第一、二代半导体表现出色。与制造技术非常成熟和成本相对较低的硅材料相比。目前第三代半导体面临的主要挑战是发展适合GaN薄膜声场的低成本衬底材料和大尺寸的氮化镓体单晶生长工艺。 108 | 109 | 图片 110 | 111 | 资料来源:资产信息网 千际投行 112 | 113 | 由于生产工艺成熟及生产成本低,硅仍然是半导体材料的主体。95%以上半导体的半导体器件和99%以上的集成电路是用硅材料制作的。以硅材料为主体,GaAs半导体材料及新一代宽禁带半导体材料共同发展将成为未来半导体材料业发展的主流。 114 | 115 | 分立器件产业是半导体行业的一个分支,但也极其重要。半导体分立器件是指具有固定单一特性和功能,并且其本身在功能上不能再细分的半导体器件,如晶体管、二极管、电阻、电容、电感等。 116 | 117 | 图片 118 | 119 | 资料来源:资产信息网 千际投行 120 | 121 | 集成电路是利用半导体工艺或厚膜、薄膜工艺,将电阻、电容、二极管、双极型三极管等电子元器件按照设计要求连接起来,制作在同一硅片上,成为具有特定功能的电路。它实现了材料、元器件、电路的三位一体,与分立器件组成的电路相比,具有体积小,功耗低、性能好、可靠性高及成本低等优点。 122 | 123 | 第二章 商业模式和技术发展 124 | 125 | 2.1 半导体产业链 126 | 127 | 半导体行业受行业本身供需以及新产品周期的影响。历次的金融危机和泡沫破裂都会使得半导体行业在短期内下降,但是从长期来看,新产品的推出才是半导体行业持续发展繁荣的内在动力。半导体行业受行业本身供需以及新产品周期的影响。历次的金融危机和泡沫破裂都会使得半导体行业在短期内下降,但是从长期来看,新产品的推出才是半导体行业持续发展繁荣的内在动力。 128 | 129 | 图 半导体产业链 130 | 131 | 图片 132 | 133 | 资料来源:资产信息网 千际投行 134 | 135 | 半导体产业转移将经历从初期、中期、后期到新一轮产业转移后期4个阶段。目前中国大陆半导体产业还处于转移的初期,一方面受益于工程师红利和技术的进步,成本优势显现,进口替代空间大。考虑到IC制造需要巨额资本投入,国内半导体产业将首先从轻资产的IC设计业开始。以国内IC金融卡芯片为例,目前基本由恩智浦等国际厂商垄断,全部靠进口。“棱镜门”事件后国家对于信息安全日益重视,加上国产芯片华虹、同方国芯等国内IC设计厂商在技术水平上的不断进步,预计未来将批量生产,对国外芯片形成进口替代。 136 | 137 | 图片 138 | 139 | 资料来源:资产信息网 千际投行 140 | 141 | 分立器产业 142 | 143 | 半导体分立器件是指具有固定单一特性和功能,并且其本身在功能上不能再细分的半导体器件,如晶体管、二极管、电阻、电容、电感等。 144 | 145 | 图片 146 | 147 | 资料来源:资产信息网 千际投行 148 | 149 | 半导体分立器件行业上游为分立器件芯片及铜材等,下游覆盖传统4C产业(通信、计算机、消费电子、汽车电子)以及智能电网、光伏、LED照明等新兴应用领域。其中,分立器件芯片是制造半导体分立器件产品的主要原材料,约占产品成本的50%左右。半导体分立器件的直接下游企业包括汽车电子、电源电器、仪器仪表等生产厂家,并通过该等直接客户与汽车、计算机、家用电器等众多最终消费品配套。下游应用市场的需求变动对半导体分立器件行业的发展具有较大的牵引及驱动作用。近年来,受益于国家经济刺激政策的实施以及新能源、新技术的应用,下游最终产品的市场需求保持着良好的增长态势,从而为半导体分立器件行业的发展提供了广阔的市场空间。 150 | 151 | 图片 152 | 153 | 资料来源:资产信息网 千际投行 154 | 155 | 集成电路产业 156 | 157 | 集成电路产业可以分为IC设计、IC制造和IC封装测试,其中IC设计指根据市场需求,确定IC产品的设计要求,并将抽象的产品设计要求转化成特定的元器件组合,最终在芯片上予以实现的过程;IC制造指根据设计要求制作芯片的过程;IC封装测试是将芯片装入特定的管壳或用材料将其包裹起来,保护芯片免受外界影响。 158 | 159 | 图片 160 | 161 | 资料来源:资产信息网 千际投行 162 | 163 | 集成电路模式主要有两大类,一类是垂直一体化模式(IDM模式)。采用该模式厂商涵盖从IC设计、制造到封装测试等各业务环节,代表厂商有英特尔、三星等。另一类是专业代工模式,每个环节均由特定的厂商负责完成,包括无晶圆厂商(Fabless),采用该模式的厂商仅进行芯片的设计、研发、应用和销售,而将制造、封装和测试外包,代表厂商如联发科;向IC设计公司提供生产制造专门服务的晶圆代工厂商(Foundry),如台积电;专业从事IC封装测试的厂商,如日月光。 164 | 165 | 图片 166 | 167 | 资料来源:资产信息网 千际投行 168 | 169 | 2.2 技术发展 170 | 171 | 半导体行业技术在不断创新和进步,以下是一些当前和未来可能的技术发展: 172 | 173 | 三维芯片:三维芯片是一种新型的芯片封装技术,它可以把芯片的各个部分组合起来,使得芯片更小、更快、更节能。未来,三维芯片技术有望进一步发展,应用范围也将更加广泛。 174 | 175 | 晶体管的不断缩小:随着晶体管尺寸的不断缩小,半导体的集成度也在不断提高,性能也在不断改善。未来,晶体管可能会进一步缩小到纳米级别,这将使得半导体产品更小、更快、更省电。 176 | 177 | 新型存储技术:新型存储技术如固态硬盘(SSD)和三维堆叠存储(3D NAND)已经开始普及,它们具有更高的速度、更大的容量和更低的功耗。未来,这些技术有望得到进一步的改进和应用。 178 | 179 | 光电子器件:光电子器件将光学和电子学相结合,可以实现更快的数据传输和处理速度。未来,光电子技术可能会在计算机、通信、医疗等领域得到更广泛的应用。 180 | 181 | 绿色半导体:绿色半导体技术致力于减少半导体生产过程中对环境的影响,包括减少化学物质的使用、提高能源效率和废弃物的回收利用等。未来,绿色半导体技术将会成为行业的重要趋势和方向。 182 | 183 | 半导体技术的不断创新和发展将推动半导体行业向更高性能、更节能、更环保的方向发展,为人类创造更多的便利和价值。 184 | 185 | 图 半导体产品链和技术 186 | 187 | 图片 188 | 189 | 资料来源:资产信息网 千际投行 190 | 191 | 按照富士电机和三菱电机的标准,目前IGBT芯片经历了7代:衬底从PT穿通,NPT非穿通到FS场截止,栅极从平面到Trench沟槽,最后到微沟槽。芯片面积、工艺线宽、通态饱和压陈、关断时间、功率损耗等各项指标经历了不断的优化,断态电压也从600V提高到6500V以上。每一代工艺的提升都是对于材料更高效的利用。从1988年至今,每一代产品的升级需要5年以上时间才能占领50%左右的市场。 192 | 193 | 图片 194 | 195 | 资料来源:资产信息网 千际投行 196 | 197 | 第一代(PT):产品采用“辐照”手段,由于体内晶体结构本身原因造成“负温度系数”各IGBT原胞通态压降不一致, 不利于并联运行, 第一代IGBT电流只有25A, 且容量小, 有擎住现象,速度低。 198 | 199 | 第二代(改进PT):采用“电场终止技术”,增加一个“缓冲层”在相同的击穿电压下实现了更薄的晶片厚度, 从而降低了IGBT导通电阻, 降低了IGBT工作过程中的损耗。此技术在耐压较高的IGBT上运用效果明显。 200 | 201 | 第三代(Trench-PT) :把沟道从表面变到垂直面, 所以基区的PIN效应增强, 栅极附近载流子浓度增大,从而提高了电导调制效应减小了导通电阻;同时由于沟道不在表面,栅极密度增加不受限制,工作时增强了电流导通能力。国内主要是这一代产品。 202 | 203 | 第四代(NPT) :目前应用最广泛的一代产品。不再采用外延技术, 而是采用离子注入的技术来生成P+集电极(透明集电极技术),可以精准的控制结深而控制发射效率尽可能低,增快载流子抽取速度来降低关断损耗,可以保持基区原有的载流子寿命而不会影响稳态功耗,同时具有正温度系数特点。 204 | 205 | 第五代(NPT-FS):在第四代产品“透明集电区技术”与“电场终止技术”的组合。由于采用了先进的薄片技术并且在薄片上形成电场终止层,大大的减小了芯片的总厚度,使得导通压降和动态损耗都有大幅的下降, 从而进一步降低IGBT工作中过程中的损耗。 206 | 207 | 第六代(NPT-FS-Trench) :在第五代基础上改进了沟槽栅结构, 进一步的增加了芯片的电流导通能力,极大地优化了芯片内的载流子浓度和分布。减小了芯片的综合损耗。 208 | 209 | 第七代:英飞凌直接从第四代跳到第七代,因为第五代和第六代其实是过渡性的产品,不能真正的算一个代系。 210 | 211 | 图片 212 | 213 | 资料来源:资产信息网 千际投行 214 | 215 | 第三章 行业估值、定价机制和全球龙头企业 216 | 217 | 3.1 行业综合财务分析 218 | 219 | 半导体行业财务分析主要涉及对该行业公司的财务状况、经营绩效和投资价值等方面进行评估,帮助投资者做出投资决策。以下是半导体行业财务分析中常用的指标和方法: 220 | 221 | 财务指标分析:包括营业收入、净利润、毛利率、净利率、总资产和净资产等指标,这些指标可以反映公司的盈利能力、财务稳定性和资产负债状况等。 222 | 223 | 行业比较分析:通过比较该行业内不同公司的财务指标,分析公司在行业中的竞争力和市场地位。 224 | 225 | 资本结构分析:包括负债比率、资本回报率、股东权益比率等指标,反映公司的资本结构和资本运作效率。 226 | 227 | 现金流量分析:通过分析现金流量表中的经营、投资和筹资活动,评估公司的现金流量状况和经营管理能力。 228 | 229 | 盈利能力分析:包括ROE(净资产收益率)、ROA(总资产收益率)、EPS(每股收益)等指标,反映公司的盈利能力和效率。 230 | 231 | 通过以上分析,可以全面了解半导体行业公司的财务状况和经营绩效,为投资者提供决策依据。需要注意的是,投资决策应该综合考虑公司的财务状况、市场前景、行业发展趋势等因素,谨慎做出决策。 232 | 233 | 图 半导体行业财务分析 234 | 235 | 图片 236 | 237 | 图片 238 | 239 | 资料来源:资产信息网 千际投行 240 | 241 | 图 半导体行业估值变化和基准对比 242 | 243 | 图片 244 | 245 | 图片 246 | 247 | 图片 248 | 249 | 图片 250 | 251 | 资料来源:资产信息网 千际投行 252 | 253 | 半导体整体来看,行业发展的增速远远高于GDP增速,收入增长属于高速发展行业。但值得注意的是,此行业的整体净利润率在5.5%左右,前期大量成本需要摊销和新研发的投入拉低了利润。 254 | 255 | 3.2 行业发展 256 | 257 | 半导体行业是现代电子工业中最为重要的一个组成部分,广泛应用于计算机、通信、消费电子、汽车、医疗等领域。半导体行业经历了若干发展阶段: 258 | 259 | 1940年代初,人们开始研究半导体材料的性质和应用。 260 | 261 | 1950年代,集成电路问世,使得电子器件逐渐趋向微型化。 262 | 263 | 1960年代,硅片的制造工艺逐渐成熟,半导体材料得到广泛应用,驱动电子工业快速发展。 264 | 265 | 1970年代至1990年代,半导体行业迎来了高速增长期,芯片设计、制造和封装等技术不断提升。 266 | 267 | 21世纪以来,半导体行业进入了晶圆制造的深度优化阶段,以及多领域、多场景应用的拓展阶段,如物联网、人工智能、5G通信等。 268 | 269 | 目前,全球半导体行业呈现出快速发展、技术竞争激烈、市场前景广阔等特点。其中,中国半导体行业也在快速发展,成为全球半导体行业的重要参与者之一。半导体行业经历了数十年的发展和变革,技术和应用不断更新换代,市场前景广阔,是一个充满机遇和挑战的行业。 270 | 271 | 3.3 竞争格局 272 | 273 | 市场竞争格局方面,半导体存储器件的主要市场由海外巨头公司掌握,国产公司处于相对落后的位置,但已经在各个细分行业展开追赶,并已获得显著的进展。 274 | 275 | DRAM市场由三星、美光、海力士垄断了95%的份额,目前国产厂商合肥长鑫已经开始量产并在官网上架了相关产品,紫光集团也已建立DRAM事业部准备建厂。 276 | 277 | NAND Flash的市场由三星、西数、铠侠等6家企业垄断。目前NAND Flash的发展方向是3D堆叠,国外先进企业均已纷纷开发出100层以上堆叠的NAND Flash。国产厂商长江存储已宣布128层产品研发成功,与国外先进企业的差距越来越小,已成为存储国产自主化的中坚力量。 278 | 279 | NOR Flash市场上我国企业已不落人后,兆易创新的市占率已位居全球前三,仅次于华邦和旺宏。武汉新芯拥有自主的NOR Flash产能。 280 | 281 | 3.4 国内企业排名 282 | 283 | 图 国内上市企业市值排名 284 | 285 | 图片 286 | 287 | 资料来源:资产信息网 千际投行 288 | 289 | 图 国产芯片替代产业链 290 | 291 | 图片 292 | 293 | 资料来源:资产信息网 千际投行 294 | 295 | 3.5 全球半导体重要竞争者 296 | 297 | 图片 298 | 299 | 图片 300 | 301 | 资料来源:资产信息网 千际投行 302 | 303 | (1)英特尔是美国一家以研制CPU为主的公司,是全球最大的个人计算机零件和CPU制造商,它成立于1968年,具有52年产品创新和市场领导的历史。1971年,英特尔推出了全球第一个微处理器。微处理器所带来的计算机和互联网革命,改变了整个世界。 304 | 305 | (2)三星电子是韩国最大的电子工业企业,同时也是三星集团旗下最大的子公司。1938年3月三星电子于韩国大邱成立,创始人是李秉喆。在世界上最有名的100个商标的列表中,三星电子是唯一的一个韩国商标,是韩国民族工业的象征。 306 | 307 | (3)Hynix 海力士芯片生产商,源于韩国品牌英文缩写"HY"。海力士即原现代内存,2001年更名为海力士。海力士半导体是世界第三大DRAM制造商,也在整个半导体公司中占第九位。海力士半导体以超卓的技术和持续不断的研究投资为基础,每年都在开辟已步入纳米级超微细技术领域的半导体技术的崭新领域。另外,海力士半导体不仅标榜行业最高水平的投资效率,还正在展现意义非凡的增长势力。 308 | 309 | 第四章 未来行业展望 310 | 311 | 半导体行业在未来仍然有着广阔的发展空间和机遇,以下是一些可能的趋势: 312 | 313 | 人工智能和机器学习的普及将推动半导体需求的增长。这些技术需要更高效、更快速、更稳定的半导体产品支持,如GPU、TPU等。 314 | 315 | 物联网的发展将促进半导体需求的增长。物联网需要各种传感器、芯片、处理器和通信设备等半导体产品,随着其在各个领域的应用越来越广泛,对半导体的需求将会进一步增长。 316 | 317 | 5G技术的普及将带来新的需求和机遇。5G需要更高性能、更低功耗、更高带宽的芯片和通信设备,半导体行业将迎来新的增长机遇。 318 | 319 | 可穿戴设备和智能家居市场的扩大将推动半导体需求的增长。这些设备需要小型、低功耗、高效的半导体产品,如传感器、微控制器等。 320 | 321 | 环保和可持续发展的要求将推动半导体行业向更环保、高效的方向发展。绿色半导体技术、新能源材料和可持续制造技术将成为未来半导体行业的重要方向。 322 | 323 | 总之,半导体行业在未来仍然具有广阔的发展前景,技术创新、市场需求和环保可持续性将是其发展的重要驱动力。 324 | 8月29日,华为新机Mate 60 Pro未发先售。华为称之为“史上最强大的Mate手机”,也是全球首款支持卫星通话的大众智能手机。随后,央视新闻披露,断供4年间,华为加大自主研发,通过与国内厂商合作,在芯片等多个技术方面取得了较大突破。该系列新机采用“中国芯”,1万多个零部件已实现国产化。 325 | 326 | 327 | 328 | 一石激起千层浪,华为自研芯片的推出,是否标志着国产半导体在先进制程的重大突破?半导体行业周期呈现什么特征?哪些环节值得关注?朱雀基金TMT研究组分享如下: 329 | 330 | 331 | 332 | 1、如何评价华为自研芯片? 333 | 据报道,半导体行业观察机构Techinsights加拿大实验室拆解华为Mate 60 Pro的麒麟9000s芯片后,通过电镜的方式,结合工艺特点,推断其制造工艺为“N+2”(等效7nm)制程。 334 | 335 | 336 | 337 | 不同于军工级、宇航级芯片,消费级芯片百万级别的体量说明国产半导体先进制程良率有重大的突破,大规模量产能力有质的提升。虽然距离国际最先进技术还有差距,但这是中国半导体先进工艺大规模商用化的重大突破,开启了完全国产化高端主芯片的设计和制造生态系统的大门,超越市场预期。 338 | 339 | 340 | 341 | 华为自研芯片的推出意味着国内在半导体先进制程大规模生产又进了一步,但并不代表“卡脖子”的风险解除,在看到进步的同时,我们还是要保持冷静,综合来看,这一次进步为我们与美国的博弈增加了谈判的筹码。 342 | 343 | 344 | 345 | 在这样的背景下,美国内部的观点也在发生分化。中国进步的速度有目共睹,海外制裁激励我们国产替代的进程,产业人士认为美国“为了国家安全付出了过高的代价”,长期看,随着中国产业链的建设完善,中国可能进一步抢占成熟制程的全球市场份额,这也是美国所担心的,所以美国也需要进一步评估制裁所需要付出的代价是否值得,一刀切地以国家安全的名义进行技术封锁反而在长期的维度危害了国家安全。 346 | 347 | 348 | 349 | 2、半导体行业周期呈现什么特征? 350 | 351 | 通常来说,一个完整的半导体行业周期长达四到六年。本轮周期的上行阶段始于2019年下半年, 在新冠疫情、美国制裁等多方面影响下,终端环节倾向于提前采购、下长单囤货,需求前置导致整个产业链的供需关系发生变化,景气周期被拉长了。 352 | 353 | 354 | 355 | 2022年二季度至今,目前本轮半导体行业周期已经下行五个季度,除了产能和库存等行业性的周期性波动,本轮周期也出现新的特征,受到了美国通胀、中国经济弱复苏等宏观性因素的干扰,整体需求低于预期,也使得半导体景气周期的拐点延后。 356 | 357 | 358 | 359 | 今年的半导体行业仍处于去库存的阶段,但大概率不意味着产能过剩,目前终端库存已经到了历史平均水位,但行业普遍反映订单复苏缓慢,因为下游需求比较弱,仍然没有主动补库存的动力。 360 | 361 | 362 | 363 | 目前我们看到半导体上市公司的业绩虽然同比还在往下走,但是环比看业绩已经触底反弹。半导体行业协会公布7月全球半导体行业销售环比增长2.3%,已经实现了连续四个月环比增长。 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 3、产业链中哪些环节值得关注? 372 | 目前库存过剩还是主要存在于成熟制程等环节,全球及国内先进制程半导体供给还是紧缺。 373 | 374 | 375 | 376 | 市场较为关注的是国产先进制程领域的突破,分环节看,在光刻、量测环节,我们受制于客观条件,与世界先进水平还有较大差距,但在薄膜沉积、先进封装设备和刻蚀等环节,在先进制程领域国产替代率提高还是值得期待的。 377 | 378 | 379 | 380 | 据调研统计,从整个产业链来看,国产设备在成熟制程领域的产品覆盖率已经相对较高,按照设备招标数据统计,国产化率已经相较于3年前有非常大的提升。 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 4、如何寻找相关的机会? 389 | 390 | 我们比较重视相关公司的业务成熟度和研发能力,力争跟踪那些既能够受益于传统半导体行业周期的上行,也能够推动先进制程等高端环节突破的公司,寻找从0到1的机会。 391 | 392 | 393 | 394 | 同时,因为本次半导体行业周期大概率不仅受到行业周期性因素的影响,还受到美国通胀、国内复苏进程的约束,周期拐点的不确定性更高,所以更加重视估值的保护。 395 | 半导体集成电路行业分析报告 | 一文带你读懂半导体集成电路行业现状与发展前景 396 | 半导体集成电路行业现状 397 | 398 | 根据SIA近期发布数据显示,2021年全球半导体市场销售额总计5,559亿美元,同比增长26.2%,创下历史新高。 399 | 400 | 401 | 402 | 同期,中国以1,925亿美元的半导体销售额成为全球规模最大的区域市场,占比34.6%;同比涨幅则为27.1%,全球第三,位于美国(27.4%)和欧洲(27.3%)市场之后。 403 | 404 | 405 | 406 | 2021年全球半导体公司将产量大幅提高至前所未有的水平,由此带来了芯片出货量和销售额的飙升。 407 | 408 | 国家经济战略先导 智能制造发展核“芯” 409 | 410 | 集成电路行业作为全球信息产业的基础,在产业资本的驱动下,已逐渐成为衡量一个国家或地区综合竞争力的重要标志和地区经济的晴雨表。 411 | 412 | 集成电路产业作为电子信息产业的核心,是支撑国家经济社会发展的战略性、基础性、先导性产业。 413 | 414 | 多重因素驱动下,中国集成电路市场规模逐年增长,产业整体实力迅速提升,产业结构不断优化,产业区域聚集度也不断提高。 415 | 416 | 417 | 418 | 一、国家产业基金注入推动产业发展 419 | 420 | 近几年,集成电路已成为“科技战”的关键战场。在SIA 看来,中国半导体产业政策的核心就是国家集成电路产业投资基金,用其推动中国集成电路企业扩张规模、提高技术水平。 421 | 422 | 中国半导体行业协会近日发布统计数据,2021年中国集成电路产业销售额为1,0458.3亿元,同比增长18.2%。 423 | 424 | 半导体集成电路行业现状 425 | 426 | 销售额份额全球占比由2010年的8.6%扩大到2020年34.4%。 427 | 428 | 半导体集成电路行业现状 429 | 430 | 二、产业结构不断优化 431 | 432 | 集成电路产业结构已初步形成设计、制造和封装测试三业协调发展格局。 433 | 434 | 2021年设计业销售额为4,519亿元,同比增长19.6%;制造业销售额为3,176.3亿元,同比增长24.1%;封装测试业销售额2,763亿元,同比增长10.1%。 435 | 436 | 三业占比分别为43%、30%、26%,较2014年的产业比例趋势愈加合理(全球三业合理占比约为3:4:3)。 437 | 438 | 半导体集成电路行业现状 439 | 440 | 三、产业聚集度较高 441 | 442 | 我国集成电路产业的聚集度较高,主要集中在环渤海、长三角、珠三角及部分西部省区。 443 | 444 | 半导体集成电路行业现状 445 | 446 | 长三角地区 447 | 448 | 半导体集成电路行业现状 449 | 450 | 包括上海、江苏和浙江的长江三角洲地区是国内最主要的集成电路开发和生产基地,在国内集成电路产业中占有重要地位。目前国内 55%的集成电路制造企业、80%的封装测试企业以及近 50%的集成电路设计企业都集中在该地区。长三角地区已初步形成了包括研究开发、设计、芯片制造、封装测试及支撑业在内的较为完整的集成电路产业链。 451 | 452 | 环渤海地区 453 | 454 | 半导体集成电路行业现状 455 | 456 | 包括北京、天津、河北、江宁和山东等省市的环渤海地区是国内重要的集成电路研发、设计和制造基地,该地区已形成了从设计、制造、封装、测试到设备、材料的产业链,相互支撑、协作发展的条件。 457 | 458 | 珠三角地区 459 | 460 | 半导体集成电路行业现状 461 | 462 | 珠三角地区是国内重要的电子整机生产基地和主要的集成电路器件市场,集成电路市场需求一直占据全国的40%以上。依托发达的电子整机制造业,近年来该地区的集成电路设计业发展较快,在国内集成电路产业中所占比重也逐年上升。 463 | 464 | 资料来源:前瞻产业研究院整理 465 | 466 | 四、六大利好因素提升投资价值 467 | 468 | 半导体集成电路行业现状 469 | 470 | 中国集成电路投资前景大好,六大利好因素为中国集成电路发展提供机遇,使其具有极高的投资价值。 471 | 472 | 国家支持 473 | 发布扶持性政策包括《关于集成电路生产企业有关企业所得税政策》、《新时期促进集成电路产业和软件产业高质量发展的若干政策》、《关于支持集成电路产业和软件产业发展进口税收的通告》、《“十四五”规划和2035远景目标纲要》等文件,支持产业发展。 474 | 475 | 成立国家集成电路投资基金,2019年完成二期募集2,000亿元。 476 | 477 | 市场空间大 478 | 预计至2025年,我国集成电路市场规模可达到1,734-2,445亿美元,占全球市场的43.35%-45.64%,集成电路自给率要达到70%。 479 | 480 | 新增长点 481 | 我国是全球最大的半导体消费市场,2020年市场需求额占全球份额超过50%,中国半导体产品国际市场占有率仅为4%。 482 | 483 | 人工智能、汽车电子、工业机器人半导体、物联网、智能终端成为电子行业重要增长点。 484 | 485 | 产业转移 486 | 缺芯压力大,全球新建扩建晶圆厂。2018年至2020年全球62座新晶圆厂中的40%座坐落中国大陆,领先美国与台湾。中国大陆成为全球集成电路制造产业转移主要目的地。 487 | 488 | 台积电、格罗方德、联华电子等国际大厂已采用独资或者与当地企业合资的形式在中国大陆境内建立晶圆厂。 489 | 490 | 产业链细分 491 | 在PC时代其他公司受限于知识产品规定,无法进入PC处理器市场。如今产业链细分使得技术壁垒、资金壁垒被削弱,行业内开始出现专门的芯片设计、制造和封测厂商。 492 | 493 | 并购浪潮 494 | 近两年并购次数、并购规模远超以往,例如软银以322亿美元收购ARM、高通以470亿美元收购恩智浦。这一浪潮为国内企业提供经验及机遇,可帮助其充分利用国外厂商先进技术和客户资源,同时利用国内资本优势最终取得积极效应。 495 | 496 | 497 | 498 | 五、关注高附加值产业链环节 499 | 500 | 集成电路产业链环节众多,但高科技含量、高附加值环节主要集中在中间生产环节。 501 | 502 | 半导体集成电路行业现状 503 | 504 | 高力国际观点 505 | 506 | 集成电路的发展已经成为国家策略,势必会有更多的企业和资本涌入这个行业,未来5年集成电路的发展会迎来上升期。 507 | 集成电路产业发展专属需求包括了上下游产业环境和专业技术人员招聘。所以集成电路产业会向人才聚集区域集中发展。 508 | 集成电路产业发展普遍性需求包括了投融资服务,技术转化服务和区域产学研合作平台。 509 | 集成电路产业对物业载体的需求多样化,包括土地厂房,洁净室厂房和研发用房等。 510 | 中国半导体产业链渐趋完善,产业生态体系逐步成形 511 | 512 | 目前我国垂直分工模式的芯片产业链初步搭建成形,产业上中下游已然打通,涌现出一批实力较强的代表性本土企业。集成电路是基础性、先导性产业,涉及国家信息安全,做大做强集成电路产业已成为国家产业转型的战略先导。 513 | 514 | 近年来,中国集成电路技术水平与国际差距正在逐步缩小,产业已经进入快速发展的轨道。 515 | 516 | 其中主要包括:1)以华为海思、紫光展锐等为代表的芯片设计企业;2)以中芯国际、华虹半导体为代表的晶圆代工制造企业;3)以长电科技、华天科技、通富微电为代表的芯片封测企业;4)采用IDM模式的华润微电子、士兰微等。 517 | 518 | 渐趋完整的产业生态体系为实现半导体设备的进口替代并解决国内较大市场缺口提供了良好的基础。 519 | 520 | 521 | 522 | 中国本土设备企业:机遇与挑战并存,最“坏”的时代亦是最好的时代 523 | 524 | 设备制造业是半导体产业的基础,是完成晶圆制造、封装测试环节和实现集成电路技术进步的关键。 525 | 526 | 所需专用设备主要包括晶圆制造环节所需的光刻机、化学汽相淀积(CVD)设备、刻蚀机、离子注入机、表面处理设备等;封装环节所需的切割减薄设备、度量缺陷检测设备、键合封装设备等;测试环节所需的测试机、分选机、探针台等; 527 | 528 | 以及其他前端工序所需的扩散、氧化及清洗设备等。这些设备的制造需要综合运用光学、物理、化学等科学技术,具有技术壁垒高、制造难度大、设备价值及研发投入高等特点。 529 | 530 | 531 | 532 | 全球半导体设备市场集中度高,美日欧五大巨头引领全球半导体设备市场。 533 | 534 | 据Bloomberg数据,2017年全球五大半导体设备制造商分别为应用材料(AMAT)、阿斯麦(ASML)、拉姆研究(LamResearch)、东晶电子(TLE)、科磊(KLA),这五大半导体制造商在2017年以其领先的技术、强大的资金支持占据着全球半导体设备制造业超过70%的份额。 535 | 536 | 其中阿斯麦公司在光刻机设备上一家独大,2013~2017年一直拥有18%以上的全球半导体设备市场份额,凭借在高端光刻机市场上的垄断地位以及持续高额的研发投入,阿斯麦在设备市场上保持着较高的市场认可度。 537 | 538 | 与之并驾齐驱的是研发用于其他制造流程设备的应用材料与拉姆研究,两家公司近五年来也保持稳健的市场份额增长。 539 | 540 | 应用材料公司在其强势领域表现全面而稳定,一直占据着半导体设备销售额前三的位置。 541 | 542 | 543 | 544 | 545 | 546 | 细分领域术业有专攻,全球设备行业龙头各显神通占据世界领先地位。 547 | 548 | 在半导体产业价值链中,光刻机作为产业的核心,占了半导体设备投资较大的份额,其中荷兰ASML公司凭借领先的技术和优秀的产品,在45纳米以下制程的高端光刻机市场中占据大部分以上的市场份额,而在EUV光刻机领域目前处于垄断地位,市占率为100%(业内独家)。 549 | 550 | 应用材料公司在除了光刻领域外的其他核心半导体设备领域有着较强的竞争力,在PVD设备上,应用材料作为行业龙头占据了大部分的市场份额,在CVD和蚀刻设备上应用材料与拉姆研究、东京电子等企业竞争激烈,同时应用材料在CMP、检查和量测(包括半导体、掩摸和光伏)、电镀ALD、离子注入、外延工艺和RTP领域都有涉猎。 551 | 552 | 553 | 554 | 中国半导体设备的进口依赖问题较为严重,2017年国产化率仅为9%。半导体装备业具有较高的技术壁垒、市场壁垒和客户认知壁垒,由于我国半导体设备产业整体起步较晚,目前国产规模仍然较小。 555 | 556 | 据SEMI统计,2017年中国大陆半导体设备销售额为82.3亿美元,据中国电子专用设备工业协会数据,2017年中国国产半导体设备(不含光伏设备)48.07亿元,据此计算中国半导体设备市场国产化率仅为9%。 557 | 558 | 国内设备市场仍主要由美国应用材料(AppliedMaterial)、美国泛林半导体(LamResearch)、日本东京电子(TokyoElectron)、日本爱德万(Advantest)、美国科磊(KLA-Tencor)等国外知名企业所占据。 559 | 560 | 集成电路设备是集成电路产业发展的重要基石,专用设备的大量依赖进口不仅严重影响我国集成电路的产业发展,也对我国电子信息安全造成重大隐患。 561 | 562 | 563 | 564 | 565 | 566 | 中微半导体、北方华创、长川科技等一批本土设备制造商正在奋起直追,有望逐步实现进口替代。 567 | 568 | 本土企业中,包括上海中微半导体、北方华创、长川科技、北京华峰等业内少数专用设备制造商通过多年的研发和积累,已掌握了相关核心技术,拥有自主知识产权,具备一定规模和品牌知名度,占据了一定市场份额。 569 | 570 | 在02专项和大基金的扶持下,国内的半导体制造企业如:北方华创、中微半导体、沈阳拓荆等已经在技术上取得了一系列突破,多种半导体设备研制成功。 571 | 572 | 除了光刻设备突破不大之外,刻蚀和薄膜沉淀设备已经可以在12英寸28nm的产线上批量使用,还有一批14nm的设备已经进入产线工艺验证阶段。 573 | 574 | 虽然与国际上最新的7nm/10nm技术还有一定的距离,但是随着中国半导体市场越来越大,国产半导体设备制造企业凭借着地理、服务、价格等优势有望速度崛起,或将实现对国外领先公司的技术和业务的弯道追赶。 575 | 576 | 577 | 578 | 579 | 580 | 近年国产设备技术发展稳健,12英寸28nm晶圆关键设备(光刻机外)已进入主流生产线实现量产,其中刻蚀机已进入7nm产线。 581 | 582 | 据中国电子专用设备工业协会数据,2016年中芯国际北京晶圆厂使用国产集成电路晶圆设备加工的12英寸正式产品突破一千万片次,标志着集成电路国产设备在市场化大生产线中得到充分验证; 583 | 584 | 2017年中微半导体研制的7nm等离子刻蚀机已在国际顶尖的集成电路生产线上量产使用,达到了国际先进水平;12英寸晶圆先进封装、测试生产线设备(17种)实现了国产化,设备国产化率达70%以上。 585 | 586 | 集成电路测试设备有望成为率先实现较大规模进口替代的环节。由于测试环节是贯穿集成电路生产过程的重要流程,测试设备制造企业在产业链中也占据着重要地位,是上中下游各类企业完成检测工艺的有力支撑。 587 | 588 | 集成电路测试设备主要用于封装测试产业环节,客户包括下游封装测试企业、晶圆制造企业和芯片设计企业,目前封装测试业已成为我国集成电路产业链中最具国际竞争力的环节,测试设备有望率先受益于产能转移。 589 | 590 | 591 | 592 | 目前国内厂商已掌握了测试设备相关核心技术,生产的测试机和分选机获得长电科技、日月光等企业使用和认可,与国外知名企业相比,国内优势企业对客户需求更为理解,服务方式更为灵活,产品性价比更高,具有较强的本土优势。 593 | 594 | 得益于国内需求、政策支持、资本、人才储备,中国半导体制造具备突破的基础。中国IC产业处于“前有追赶目标,后无潜在对手”的国际格局中,“全球最大半导体消费市场”的地位是中国“后发优势”的重要基础之一。 595 | 596 | 叠加国家战略、资本实力、全球主流企业及国内外研发人才的储备,推动硅材料、设计、制造、封装测试及装备实现国产化突破的基础坚实而稳固。 597 | 598 | 本土设备企业机遇与挑战并存,最“坏”的时代亦是最好的时代。我们认为,在芯片需求持续上升、国产化投资加快、国家战略支持的大背景下,中国大陆本土半导体制造企业的崛起有望带动一批本土优秀企业共同成长,国产设备有望借助大陆晶圆产线的密集投资而实现渗透率提升,迎来最好的时代。 599 | 600 | 但另一方面,全球设备产业呈少数海外巨头垄断格局,中外技术实力、企业体量差距较悬殊且进口替代时间窗口有限,未来5年或是本土半导体产能投资需求增长最快的阶段,留给国产设备企业的时间窗口其实已不多。 601 | 602 | 我们认为总体上国产设备必然受益但产业链各环节的差异会很大。国产化须符合最朴素商业逻辑,即技术或配套实力优于进口,这样才会有持续需求,光靠补贴和支持难以诞生优质企业。因此,本土设备企业也面临最“坏”的时代,因为唯有技术准备充分的企业才能胜出。 603 | 604 | 605 | 606 | ▌新兴蓝海:汽车电子、人工智能直通未来,驱动行业不断发展 607 | 608 | 汽车电子有望成为半导体行业未来最大成长动能,汽车半导体市场会是未来半导体领域强劲的芯片终端应用市场。现阶段,PC、手机行业已经较为成熟,不再是半导体的最大成长动能,取而代之的是许多新的应用领域,汽车电子是突出代表。 609 | 610 | 随着每辆车中的半导体产品数量增加,车用半导体迅速成为半导体产业最重要的市场。 611 | 612 | 目前汽车已经成为新型电子技术的应用载体,半导体在汽车中得到了越来越多的应用。汽车半导体所涉及到的技术包括功率IC、IGBT、CMOS等,应用于车载娱乐系统、ADAS辅助驾驶系统、HMI显示系统、电动马达控制、灯光控制、电动车的电源管理系统等多处车载功能模块或器件。 613 | 614 | IHS数据显示,2015年全球汽车半导体市场的总体规模约为290亿美元,预计2013~2018年,车用半导体的产值将会以每年10.8%的速度快速增长。这一成长态势来自于市场对于车用电子系统的需求日益增加。 615 | 616 | 617 | 618 | 619 | 620 | 人工智能浪潮势不可挡,推动IC市场继续成长。 621 | 622 | 物联网、大数据、工业4.0、VR/AR和自动驾驶汽车等一系列新兴市场正在加速人工智能(AI)的时代变革,半导体和半导体加工技术将在AI革命中发挥关键作用。 623 | 624 | 人工智能可被广泛应用于汽车、娱乐、金融、教育、医疗、制造业、交通等各个行业。 625 | 626 | 展望未来,人工智能可称为应对一些社会核心挑战的强大工具,在医疗领域,人工智能将大幅提升我们分析人类基因组和为患者开发个性化治疗方案的能力,甚至大大加快治愈癌症、阿茲海默症和其他疾病的进程。 627 | 628 | 在环保领域,人工智能能够分析气候特征并大规模降低能耗,帮助人类更好地监控和应对气候变化问题。 629 | 630 | 人工智能甚至可以在地球以外地区发挥作用,他日或助力人类探索火星及外太空。 631 | 632 | 2016~2025年全球人工智能市场规模复合增速或达50.7%。据Statista估计2017年人工智能市场规模约12.5亿美元,增速约达95%;到2025年市场规模或将达369亿美元。 633 | 634 | 目前人工智能主要应用在图像识别、物品识别、检测和归类还有自动化的地球物理学特征分析等。人工智能产业最大的一块收入来自企业级的应用市场。 635 | 636 | 637 | 638 | ▌全球市场:周期回暖+创新驱动,半导体行业有望进入稳健成长期 639 | 640 | 半导体行业整体增速与全球GDP增速正相关,但波动更剧烈。半导体行业虽然有科技革命驱动,但也会受到全球经济的影响。假如经济下行,电子产品消费减少,半导体行业就会呈现衰落的态势。 641 | 642 | 通过数据,我们可以发现过去的十年,半导体市场的波动性较大,且与全球经济的景气度密切相关。 643 | 644 | 据Gartner数据,2008年经济危机发生后,2009年全球GDP下降2.2%,半导体产业总产值下降10.7%;而随着经济复苏信号的出现,2010年全球GDP增长4%,半导体产业总产值大幅增加31.8%。 645 | 646 | 我们认为,关注半导体产业也要关注全球经济形势,在目前欧美国家经济回暖的趋势下,未来全球半导体产业也会继续保持良好的成长性。 647 | 648 | 649 | 650 | 2017年全球半导体销售规模突破4000亿美元,大增21.6%,2018年或突破4500亿美元。 651 | 652 | 653 | 654 | 随着全球经济的逐步复苏,PC、手机、液晶电视等消费类电子产品需求不断增加,新兴应用领域(物联网、可穿戴设备、云计算、大数据、新能源、医疗电子和安防电子等)需求强劲,并且存储器价格大幅上涨,据WSTS数据,2017年全球半导体销售规模达到4,122亿美元/yoy+21.6%,2014~2017年CAGR约为7.8%。 655 | 656 | 据WSTS预测,2018年全球半导体市场规模有望增长至4,512亿美元/yoy+9.5%,市场景气度有望延续,再创历史新高。 657 | 658 | 半导体产业遵循螺旋式上升规律,新科技推动行业屡获新生,目前半导体行业或处于一个上升期的起点。 659 | 660 | 可以看出,半导体行业虽然并不是始终增长,但是在过去10年内遵循一个螺旋式上升的过程,放缓或衰落后又会重新经历一次更强劲的复苏。 661 | 662 | 半导体行业在过去都遵循着摩尔定律,晶体管密度每隔18-24个月便会增加一倍,电子产品的性能也会提升一倍。 663 | 664 | 信息技术的进步是背后的主要驱动力,伴随着电子产品在人类生活的更广泛普及以及智能化,汽车电子和AI的革命为整个行业的下一轮进化提供了动力,半导体行业有望长期保持旺盛的生命力。 665 | 666 | 667 | 668 | ▌产品结构:2017年集成电路约占八成,存储器是销售规模增长的最大动因 669 | 670 | 2017年全球半导体市场中集成电路销售额约占83%,集成电路销售额同比增长24%,位居半导体细分产品中增速最高的板块。 671 | 672 | 从产品的功能分,半导体市场主要分为集成电路、光电器件、分立器件和传感器四大类。 673 | 674 | 据WSTS的数据,2017年集成电路、光电子、分立器件和传感器的市场规模分别为3431亿美元、348亿美元、217亿美元、126亿美元,占比分别为83%、9%、5%、3%;相较于2016年,集成电路增长24%,传感器增长16%,分立器件增长12%,光电器件成长9%。 675 | 676 | 677 | 678 | 存储器市场回暖价格上涨是2017年全球半导体市场最大的增长动因。 679 | 680 | 进一步细分,集成电路包括逻辑芯片、存储芯片、处理器芯片和模拟芯片四种。根据WSTS的数据,2017年逻辑芯片、存储芯片、处理器芯片和模拟芯片市场规模分别为1022亿美元、1240亿美元、639亿美元和530亿美元,在整个集成电路市场的比例为30%、36%、19%、15%。 681 | 682 | 2017年逻辑芯片、存储芯片、处理器芯片和模拟芯片的销售额较2016年分别增长12%、62%、6%、11%。存储芯片的增速十分亮眼,我们认为,供不应求的供需关系和全球垄断的市场格局是推动存储芯片屡创新高的原因。 683 | 684 | 685 | 686 | 2017年半导体销售额一改过去两年平稳的态势,主要原因是DRAM与NAND的销售额上扬。 687 | 688 | 2015年,由于PC市场低迷导致库存过多,存储器产品价格大跌,这种状态一直持续到2016年第二季度。 689 | 690 | 此后随着库存的消化,2016年下半年存储器市场紧俏,价格回升,带动全球半导体市场逐步回升。 691 | 692 | 据WSTS数据,2017年存储器销售额高达1,240亿美元,年增幅度高达61.5%,其中DRAM销售大增76.8%、NANDFlash也大增47.5%;其他增幅较大的半导体器件包括整流器(rectifier)(同比增长18.3%)、diodes(同比增长16.4%)、传感器和制动器(同比增长16.2%)。 693 | 694 | 695 | 696 | 半导体行业在2017年的高成长性是过去十年中是十分罕见的,除了存储器供不应求导致涨价外,汽车电子与物联网等新兴行业需求也是背后重要的推手。 697 | 698 | 据WSTS估计,若剔除存储器的影响,2017年其他半导体器件的合并销售也成长将近10%。我们认为,这个成长速度相对于半导体行业的体量来说已经较为可观:存储器外其他器件的成长性反应了整个半导体行业在经历了增速放缓后,又重新找到了动力。 699 | 700 | 2018年集成电路销售有望持续增长,增速或达10%。WSTS预计2018年存储器芯片市场的规模将增长11.6%,模拟芯片和逻辑芯片的市场规模也将分别增长8.1%和9.3%,处理器芯片的市场规模将增长7.1%。 701 | 702 | 虽然2018年存储器芯片市场增速或将不如2017年强劲,但供给仍然偏紧,我们认为存储器仍会带动半导体市场继续成长。 703 | 704 | 705 | 706 | ▌地区分布:中国既是全球最大消费市场,也是全球最大进口市场 707 | 708 | 过去二十年全球半导体市场消费格局不断变迁,以中国市场为核心的亚太地区(除日本)2017年占比已达60%,中国占比32%。 709 | 710 | 分地区而言,受全球制造业产业重心转移等因素影响,亚太地区(除日本)已成为2000~2017年间全球半导体市场增长最为迅猛的区域,2000年该地区仅仅占全球25%份额,2017年该地区半导体市场销售规模达2488亿美元,占全球市场规模的60%(中国占32%),其次为北美(22%)、欧洲(9%)和日本(9%)。 711 | 712 | WSTS预测2018年亚太地区(除日本)仍将保持稳定增长,市场规模将达2681亿美元。 713 | 714 | 715 | 716 | 中国已稳居为全球最大的半导体消费市场。近十余年来随着全球集成电路市场逐渐步入成熟发展阶段,全球产业增速有所放缓,然而与此同时,伴随着我国经济的高速发展,我国智能手机、平板电脑、汽车电子、工业控制、仪器仪表以及智能照明、智能家居等物联网市场快速发展,尤其智能手机和平板电脑市场快速增长,我国对各类集成电路产品需求不断增长,2017年我国半导体消费市场规模在全球市场中所占比已达32%。 717 | 718 | 719 | 720 | 721 | 722 | 2017年我国集成电路销售规模已破5000亿元,2011~2017年复合增速达19%。 723 | 724 | 725 | 726 | 我国集成电路市场虽起步较晚,但受益于国家大力支持及全球集成电路产业向我国转移趋势加快,我国集成电路产业发展速度明显快于全球水平。 727 | 728 | 2008、2009年受到全球金融危机和全球半导体产业持续低迷的影响,我国集成电路市场规模连续两年呈负增长,分别下降1%和11%。 729 | 730 | 2010年以后受益于世界消费能力释放、全球半导体市场短暂复苏及我国相关政策的支持,我国集成电路销售收入大幅回升。2011~2017年中国集成电路销售规模从1933亿元提升至5411亿元,复合年增长率达19%,市场增速可观。 731 | 732 | 2017年中国集成电路产业销售额同比增长25%;其中,集成电路制造业增速最快,2017年同比增长29%,销售额达到1448亿元,设计业和封测业继续保持快速增长,增速分别为26%和21%,销售额分别为2074亿元和1890亿元。(本段数据来源均为中国半导体行业协会) 733 | 734 | 735 | 736 | 我们预计2018年中国集成电路产业销售规模有望超过6000亿元,2020年规模有望达9000亿元级别。根据《国家集成电路产业发展推进纲要》,到2020年中国集成电路全行业销售收入年均增速超过20%。 737 | 738 | 在我国工业化和信息化融合持续深入、信息消费不断升温、智慧城市建设加速等多方因素的共同带动下,同时随着云计算、大数据、物联网等领域的逐步成熟,考虑到过去四年增速保持20%以上,2011~2017年复合增速达19%,以及《国家集成电路产业发展推进纲要》的目标增速和国家集成电路产业投资基金的大力推动,我们认为2018~2020年中国集成电路产业销售规模有望保持20%左右的增速。 739 | 740 | 741 | 742 | 中国是全球最大集成电路进口市场,作为电子信息产业的核心,“中国芯”的进口依赖严重影响我国信息产业安全,我国芯片的国产化需求强烈。 743 | 744 | 我国集成电路市场仍严重依赖进口,中国半导体行业协会统计2015年我国集成电路消费市场自给率仅为30%,约70%依赖进口。 745 | 746 | 2017年,集成电路产品进口金额达到2588亿美元,已经替代原油成为我国第一大进口商品。 747 | 748 | 以英特尔(Intel)、三星(Samsung)、高通(Qualcomm)等为代表的国际先进企业在技术、产品、上下游和市场等方面拥有雄厚的综合实力,占据着我国芯片市场主要份额。 749 | 750 | 751 | 752 | ▌产业趋势:投资不断攀高,行业日趋集中,业界强者恒强 753 | 754 | 集成电路产业是资本密集型、技术密集型产业。 755 | 756 | 从工业上讲,集成电路的集成度不断提高,现已经发展到过亿门电路数量级。一款芯片的设计和研发往往需要花费1~2年甚至更长的时间,企业需要为此投入大量的人力、物力、财力。 757 | 758 | 半导体产品的工艺和制造技术难度高、技术研发周期较长,这需要长时间的技术积累,短时间的高速增长难以实现技术赶超。受摩尔定律的约束,每个厂商都会持续推动创新,半导体的投资额最近几年也不断突破更高的水平。 759 | 760 | 据Gartner数据,2017年全球半导体资本支出为970亿美金,创过去5年新高。Gartner预计,2018、2019年全球半导体资本支出将分别增长9.0%和5.0%,资本支出金额分别为1057.3亿美元和1110亿美元。全球半导体的资本支出的不断增长,也是行业进入门槛较高的一种体现,民间资本往往并不青睐于投资这样的领域,需要政府牵头带动。 761 | 762 | 763 | 764 | 据Gartner数据,2017年全球半导体行业资本支出营收占比为23.5%,占比较2016年提升1.8pct,整体行业的资本支出在提高。从2008年到2016年,除了09年金融危机时,行业的资本支出相较营收收入比例有所下调,行业的资本投入占收入的比例在20%附近波动。 765 | 766 | 这个比例说明企业会根据销售额来制定资本支出计划,未来行业的销售额仍将继续成长,我们认为行业的资本支出仍然将不断成长。而小型企业因为投入较少拖慢研发,会渐渐被淘汰,大的企业会越来越有优势,行业集中度会不断提高。单一的小企业很难与行业巨头抗争,需要国家层面的统一建设,才能打破现有的行业格局。 767 | 前不久,刚刚结束访华行程的美商务部长雷蒙多宣称将继续向中国出售芯片,但美国“永远不会向中国出售最强大的芯片”。美国是否能凭一己之力改变半导体行业生态?带着这一问题,谭主找美国半导体行业协会总裁约翰·诺伊弗聊了聊。 768 | 近期的市场上,半导体板块看起来美,爱起来也累,今天涨,明天跌,到底能不能接呢?想要进一步了解下,看到各种IGBT,CPU,GPU等等,更是摸不清头脑,这里,就来给大家分析一下芯片行业,看看这个行业是否值得投资 769 | 770 | 世界上第一台通用的计算机有30吨中,把30吨的东西集成到指甲盖的大小,这就是芯片了,芯片所在的半导体产业规模很庞大,内部各个环节分工明确,合作紧密。对应的产业还可以分成核心产业链和支撑产业链。我们可以理解为盖房子的地基,架构以及需要的水泥转头等工具。 771 | 772 | 核心产业包括半导体产品的设计,制造和分装测试。支撑产业包括设计环节服务的EDA工具,IP和供应商,以及为制造侧方环节所需要的原材料和设备的供应商。这么大的产业,基础就是一块石头,自然界中所存在的含有硅的石头,通过一个类似于洗衣机的机器经过系列反应提纯,变成单晶硅棒,这些硅就是我们常说的半导体。 773 | 774 | 将单晶硅棒切割成薄薄的晶圆,最后在晶圆上集成电路,通过一些技术,把电路一层一层的堆叠起来,这样就形成了一块芯片。所以,晶圆相当于房子的地基。 775 | 776 | 如果说半导体是制造一张纸的材料,那么集成电路就是一张张的纸,芯片就是一本书了。这里我们就可以判断出一个行业的整体面貌了。 777 | 778 | 不同的环节有不同的公司负责。 779 | 780 | 上游是半导体的原材料,中游包括芯片,集成电路的IC设计,制造还有侧封等环节,属于非常重要的核心环节,下游是各类市场所要的需求,比如终端的电子产品,包括手机,汽车,通讯服务等。 781 | 在经历了前几年严重的“缺芯”危机之后,半导体行业似乎迎来了周期变化,各家企业纷纷削减了设备投资。但美国、日本等国家依然在不惜重金积极拉拢台积电等代工企业入驻。日经中文网为您汇总了全球半导体行业在2022年的变化和发展。 782 | 783 | 784 | 785 | 786 | 坂本幸雄点评中国半导体产业差距 787 | 788 | 坂本幸雄:在运算用逻辑芯片领域,即使是中国顶尖的中芯国际,产品的最细电路线宽也只是14纳米,这已是7、8年前的技术。中芯国际的经营资源完全被用于增加14纳米以上的产能…… 789 | 790 | 791 | 792 | 793 | 半导体纳米竞争的盲点,中国笑到最后? 794 | 795 | 太田泰彦:目前只有台积电和三星电子能制造出5纳米以内的半导体,这两家企业还在进行2纳米的竞赛,日本也进入这场竞争。但中国似乎放弃了前沿领域。其实,在比较数字大小的纳米竞争的背后,还有一条“战线”…… 796 | 797 | 798 | 799 | 800 | 从台积电美国工厂看半导体主导权 801 | 802 | 在亚利桑那州首府菲尼克斯,从中心沿高速驱车约30分钟,荒野之中出现大量起重机。这是台积电计划制造尖端半导体的新基地。这个基地不仅关系到中美主导权的走向,可能还会影响到台积电的未来战略…… 803 | 804 | 805 | 806 | 807 | 掌控尖端半导体命运的台积电和ASML 808 | 809 | 台积电和ASML这两家企业两人三腿,垄断着新一代尖端半导体制造。在独领风骚的背后,在很大程度上是因为曾经长期作为行业的巨人君临天下的美国英特尔…… 810 | 811 | 812 | 813 | 814 | 中国半导体实力能用自给率衡量吗? 815 | 816 | 山田周平:美国调查公司IC Insights认为中国的IC(集成电路)产量截至2026年将相当于中国IC市场的21.2%。而中国政府发布的《中国制造2025》重点领域技术路线图认为2016年的自给率就已经是33%。到底该如何对中国半导体做出评价呢? --------------------------------------------------------------------------------